django在视图名称中用连字符反转url失败

时间:2013-10-23 18:28:55

标签: django django-templates

我的第一个问题,如果我错过了关键信息或者没有正确格式化,请耐心等待。

我最近开始尝试使用django并遇到以下错误:

  

反向调度员'有参数'(你'待办事项',)'和关键字参数' {}'找不到

template.html中的相关行(我正在显示菜单)是:

    <li><a href="{% url 'dispatcher' item|slugify %}">{{ item }}</a></li>

我在此论坛上的其他一些问题中也读到了{%load url from future%}。

我列表中的其他项目很少,例如&#39;今天&#39;,&#39;明天&#39;等等,只要我没有连字符,我就不会收到任何错误。如果我删除炒作,即不使用待办事项,一切正常。

我的urls.py的

片段是:

    urlpatterns = patterns('app.views',
    url(r'^$', 'home', name="home"),
    url(r'^items/(?P<item>\w+)/$', 'dispatcher', name="dispatcher"),

无论是否相关,我都会在encoding.py中找到iri_to_url函数,并看到该连字符不属于“安全”列表。但是添加&#39; - &#39;列表没有解决问题。

感谢您的建议和帮助。

1 个答案:

答案 0 :(得分:1)

你的正则表达式不支持-因此错误。将\w+更改为[\w-]+

试试这个:

url(r'^items/(?P<item>[\w-]+)/$', 'dispatcher', name="dispatcher")