請告訴我正確的方式來使用,並且是指一個slugfield在Django 1.3請告訴我正確的方式來使用,並且是指一個slugfield在Django 1.3
例如下面的代碼應通過蛞蝓鏈接到一個通用視圖但是會收到NoReverseMatch錯誤。
Caught NoReverseMatch while rendering: Reverse for 'single_post' with arguments '('', u'post-2')' and keyword arguments '{}' not found.
從我的理解這句話的錯誤在於然而模板是一個新手,並嘗試過在{%URL single_post金屬塊= post.slug%}許多不同的變化,這可能並非如此。
有人可以請解釋爲什麼會發生這種情況,以便我可以瞭解問題所在以及如何解決。
伊夫試圖{%URL single_post蛞蝓= post.slug%},{%URL single_post蛞蝓%} {%URL single_post蛞蝓= post.slug%}和許多其他變化
所有幫助感激
模型
slug = models.SlugField(max_length=120, unique=True)
網址
url(r'^post/(?P<slug>[a-z-]+)/$', list_detail.object_detail,
{'queryset': Post.objects.all(), 'template_object_name': 'post', 'slug_field': 'slug'}, name="single_post"),
模板
{% url single_post slug post.slug %}
我試過你的建議,但是沒有運氣。正則表達式絕對是問題,還是可能來自另一個領域。依你的意見?謝謝 – Stu 2011-04-19 14:43:18
嗯。正則表達式似乎是這裏的罪魁禍首。 [a-z - ] +不匹配:post-2。 [ - \ w] +在我的Django應用程序中執行。 \ w根據Python正則表達式語法參考匹配[a-zA-Z0-9_]:http://docs.python.org/library/re.html#re-syntax – Brandon 2011-04-19 14:55:10
非常感謝您的幫助。你是對的。 – Stu 2011-04-19 21:35:50