1

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

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

找不到带有参数“(u'to-do',)”和关键字参数“{}”的“调度程序”的反向

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

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

我还包括 {% load url from future %} 正如我在此论坛上的其他问题中所读到的。

我在列表中几乎没有其他项目,例如“今天”、“明天”等,只要我没有连字符,我就不会收到任何错误。如果我删除炒作,即代替待办事项使用待办事项,一切正常。

我的 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 函数,发现连字符不是“安全”列表的一部分。但是在列表中添加“-”并不能解决问题。

感谢您的建议和帮助。

4

1 回答 1

2

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

试试这个:

url(r'^items/(?P<item>[\w-]+)/$', 'dispatcher', name="dispatcher")
于 2013-10-23T18:50:32.497 回答