【发布时间】:2021-03-26 06:33:50
【问题描述】:
我正在阅读 Django 教程,并在尝试打开 post_detail 视图(我在其中放置 edit_post 的链接)以在我的博客应用程序中编辑帖子时遇到此错误。我使用 Django==3.1.2。
urls.py
path('<id>/edit_post', views.edit_post, name='edit_post'),
models.py
class Post(models.Model):
post_title = models.CharField(max_length=500,default='')
导致第 5 行错误的模板 - post_detail_view.html。错误消息突出显示 {% url 'edit_post' posts.id %}
post_detail_view.html
<br>
<a>{{ post.post_title }}</a>
<br>
<a href="{% url 'mains:edit_post' post.id %}">Edit</a>
问题
当我在浏览器中打开 post_detail.html 页面时,我收到此错误:- 未找到参数 '('',)' 的 'edit_post' 反向。尝试了 1 种模式:['(?P[^/]+)/edit_post$']。 当我从 post_detail 页面删除 edit_post 链接时工作正常,但是当我将 edit_post 的链接放入 post_detail 并打开它时,此错误正在引发。 我被这个问题困住了,不知道出了什么问题。
我尝试了什么。
1)。我更改了编辑按钮的链接。
2)。我已经替换了不同的视图,但我再次更改了它。而且它没有用。
在这方面帮助我。我将非常感谢您的帮助。提前谢谢你!!
【问题讨论】:
-
尝试更改为 post.slug 你有你的 post.post_title,但在编辑 url {} 你使用了 posts.slug
-
你的意思是我应该使用 :- post.post_title 而不是 post.slug
-
不,我的意思是你有错字,应该是 post.slug 而不是 posts.slug
-
谢谢你,但我已经改了,同样的错误正在引发。
-
那么你很可能有空蛞蝓。您是否检查了您的管理员以查看 slug 字段是否不为空?
标签: django django-models django-views django-forms django-templates