2013-10-23 25 views
1

我的第一個問題,所以如果我錯過了關鍵信息或請不要正確格式化,請耐心等待。django扭轉URL查看名稱連字符失敗

我最近開始使用Django試驗和運行到以下錯誤:

Reverse for 'dispatcher' with arguments '(u'to-do',)' and keyword arguments '{}' not found

在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"), 

無論相關與否,我跟蹤到iri_to_url在encoding.py功能,發現連字符不是一部分「安全」名單。但是將「 - 」添加到列表中並沒有解決問題。

感謝您的建議和幫助。

+0

試試'| safe',而不是'| slugify'。它有幫助嗎? – yuvi

回答

1

你的正則表達式不支持-因此錯誤。改變\w+[\w-]+

試試這個:

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

謝謝!這確實是個問題。愚蠢的剪切和粘貼錯誤。 – alexsc