我一直在努力解决这个问题并且无法绕过它。我已经在同样的错误中尝试了很多其他问题的答案,但没有一个能够奏效,我也看不出我做错了什么。
在我的模板中,我有一个表,每行都有一个链接来查看有关签名的信息:
<td><a href="{% url 'signatures:detail' signature.identifier %}">View</a></td>
在我的signatures.urls
文件中,我有:
from django.conf.urls import patterns, url
from signatures import views
urlpatterns = patterns('',
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^(?P<signature_identifier>\w+)/$', views.DetailView.as_view(), name='detail'),
)
但是当我尝试浏览索引(192.168.1.4:8000/signatures/)时,我收到以下错误:
Reverse for 'detail' with arguments '(u'Rediff.Messenger',)' and keyword arguments '{}' not found. 1 pattern(s) tried: [u'signatures/(?P<signature_identifier>\\w+)/$']
并突出显示我上面包含的模板文件中的行。
数据库的主键是&#34;标识符&#34;列,这是文本。这是在CentOS 7上运行的Python 2.7.5上的Django 1.7.5版。
我已经包含了我认为与问题相关的内容,但项目的其余部分位于this GitHub repo。
答案 0 :(得分:2)
如果我错了,请纠正我,但看起来您正试图为'signature:details'
网址提供字符串,但在您的urls.py中,您似乎只接受的位强>
尝试更改
url(r'^(?P<signature_identifier>\d+)/$', views.DetailView.as_view(), name='detail'),
为:
url(r'^(?P<signature_identifier>\w+)/$', views.DetailView.as_view(), name='detail'),