【发布时间】:2018-12-03 09:16:11
【问题描述】:
我认为该错误与 django 2.0 中的 url 模式更改有关。 我在 Google 上找到的几乎所有内容都使用旧的 url 模式,所以它们没有帮助。
...models
def get_absolute_url(self):
return reverse('music:detail', kwargs={'pk':self.pk})
我的网址:
urlpatterns = [
#music/add/
path('add', views.AlbumCreate.as_view(), name="album-add")
]
这是表单,我不认为它有什么问题,因为当我填写表单本身并单击提交时,在列表页面上它显示它已提交。
<form action="", method="post">
错误本身:
NoReverseMatch at /music/add/
Reverse for 'detail' with keyword arguments **'{'pk': 11(id of the item i'm adding}'** not found.
1 pattern(s) tried: ['music/(?P<album_id>[0-9]+)/$']
然后,我直接进入列表,id为11的项目就在那里,我点击它,它打开没有任何问题
详细图案:
path('<int:album_id>/', views.detail, name='detail')
【问题讨论】:
-
由于问题出在“详细”URL,您实际上需要显示该 URL 模式。
-
path('
/', views.detail, name='detail'),也编辑到问题中。谢谢
标签: django django-models django-forms django-urls