当我尝试删除帖子时Django显示此错误。
raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'delete_post' with arguments
'(<Post: "POST-TITLE-HERE">,)' not found. 1 pattern(s) tried: ['/table/post/delete/$
']
我该如何修理?
我的代码的重要部分如下:
views.py:
def delete_post(request, slug):
post= get_object_or_404(Post, post=slug)
post.delete()
return redirect('post:post_detail')
models.py
class Post(models.Model):
post= models.CharField(max_length=15)
description_post = models.CharField(max_length=15)
def get_absolute_url(self):
return reverse("post:post_delete", kwargs={"slug": self.post})
def __str__(self):
return self.post
HTML模板(删除链接)
<a class="nav-link" href="{% url 'board:delete_post' slug=post %}">
urls.py:
url(r'^table/post/delete/$', views.delete_post, name='delete_post')
提前致谢!
答案 0 :(得分:0)
您为LinkedList
设置的网址格式缺少一个命名组。
require_once 'C:\Apache\htdocs\myProject\lang.php';
另外,请确保在模板中使用帖子的slug。我假设你的帖子实例有一个delete_post
字段。
url(r'^table/post/delete/(?P<slug>[\w-]+)$', views.delete_post, name='delete_post')
答案 1 :(得分:0)
使位置/关键字参数更清晰更重要。这样你就可以使用它们中的任何一个。仅供参考,monospacedDigitSystemFontOfSize:weight: