AttributeError at /delete/1/ Общее детальное представление DeleteTodo должно вызываться либо с объектом pk, либо со slug в URLconf
Я начинаю работать с Django и хочу создать простые проекты, чтобы проверить свои навыки. Первый - это простой список дел. Я обнаружил проблему при попытке создать функциональность 'delete task' в моем проекте.
views.py
from django.shortcuts import render, redirect
from django.urls import reverse_lazy
from .models import Task
from .forms import TaskForm
from django.views.generic import DeleteView
def index(request):
return render(request, 'todoxd_app/index.html')
def todo(request):
objekt = Task.objects.all()
context = {'objekt': objekt}
return render(request, 'todoxd_app/todo.html', context)
def new_todo(request):
if request.method != 'POST':
form = TaskForm()
else:
form = TaskForm(data=request.POST)
if form.is_valid():
form.save()
return redirect('todoxd_app/new_todo')
context = {'form': form}
return render(request, 'todoxd_app/new_todo.html', context)
class DeleteTodo(DeleteView):
model = Task
template_name = 'registration/delete_todo.html'\
urls.py
from django.urls import path, include
from .views import DeleteTodo
from . import views
app_name = 'todoxd_app'
urlpatterns = [
path('', views.index, name='index'),
path('todo/', views.todo, name='todo'),
path('new_todo/', views.new_todo, name='new_todo'),
path('delete/<post_pk>/', DeleteTodo.as_view() ,name='delete_todo'),
]
delete_todo.html
Title {% extends 'todoxd_app/base.html' %} {% block content %} {% csrf_token %} DELETE TASK {% endblock content %}
from django.db import models
class Task(models.Model):
name = models.CharField(max_length=50)
description = models.TextField()
date_added = models.DateField(auto_now_add=True)
date_end_of_task = models.CharField(max_length=20)
progress = models.BooleanField()
def __str__(self):
return self.name
Буду благодарен за помощь (: