Django Url.py 参数

Django Url.py Parameters

我遵循了有关如何使用 url 调度程序的 Django 教程,但我终究无法弄清楚为什么会出现此错误。

Reverse for 'details' with arguments '('my_address',)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['details(?P[0-9]+)/$']

我的url.py:

url(r'^details(?P<zip>[0-9]+)/$', views.search_details, name='details'),

我的模板中使用的url:

<h1><a href="{% url 'details' data.zip%}">Data for {{data.zip}}</a></h1>

我的视图方法声明:

def search_details(request,zip):

当我尝试从上面的代码中删除参数 (zip) 时,模板会呈现,所以我相信 url 是正确的。

您的 zip 参数匹配从 0 到 9 的数字。字符串 "my_address" 不是由这些数字组成的。

您应该传递一个真正的 zip,假设它们实际上是数字而不是字母,或者使用不同的模式,例如 \w+

我认为你遗漏了/之后的细节:

url(r'^details/(?P<zip>[0-9]+)/$', views.search_details, name='details'),