【发布时间】:2021-06-19 03:49:12
【问题描述】:
我遇到错误
django.urls.exceptions.NoReverseMatch:未找到带有关键字参数“{'pk': 3}”的“草稿”的反向。 1
我为删除视图创建了一个按钮,但它不起作用。每当我单击按钮时,就会出现上述错误。
代码如下:
在views.py中
class DraftsView(ListView):
model=models.NewPost
context_object_name='newpost'
class DraftsEditView(DetailView):
context_object_name='draft_view'
model=models.NewPost
template_name='blogapp/newpost_details.html'
# pk_url_kwarg="id"
class DraftsUpdateView(UpdateView):
fields=('Author','Title','Text')
model=models.NewPost
class DraftsDeleteView(DeleteView):
model=models.NewPost
context_object_name='newpost'
success_url=reverse_lazy("blogapp:drafts")
在 urls.py 中
urlpatterns=[url('about/',views.about,name='about'),
url('register/',views.register,name='register'),
url('user_login/',views.user_login,name='user_login'),
url('newpost/',views.NewPostView,name='newpost'),
url('drafts/',views.DraftsView.as_view(),name='drafts'),
path('<int:pk>',views.DraftsEditView.as_view(),name='view_draft'),
path('update/<int:pk>/',views.DraftsUpdateView.as_view(),name='update'),
path('delete/<int:pk>/',views.DraftsDeleteView.as_view(),name='delete')
]
在 newpost_details.html 中
<a href="{% url 'blogapp:delete' pk=draft_view.pk %}"> <input class="btn btn-danger" type="text" name="" value="Delete"> </a>
在 newpost_confirm_delete.html 中
<form method="post">
{% csrf_token %}
<input type="submit" class="btn btn-danger" name="" value="Confirm Delete">
<a href="{% url 'blogapp:drafts' pk=newpost.pk %}"><input class="btn btn-primary" type="text" name="" value="Cancel"></a>
</form>
【问题讨论】:
-
请edit 提出您的问题并展示您的观点
DraftsDeleteView及其呈现的模板。 -
AbdulAzizBarkat 我已编辑。现在您可以在 views.py 中看到 DraftsDleteView,它呈现的模板是 newpost_confirm_delete.py