我創建了一個非常簡單的博客,但已經遇到了幾個URL問題。對於我的標記&特定的帖子查看我碰到以下問題。Django網址格式
特定後期查看示例
這兩個網站呈現相同的,並希望第二個渲染404
website.com/post/1/hello-world
website.com/post/1/你好世界/無感(應該呈現404)
標籤查看
website.com/tag/python:這將使所有帖子標記蟒蛇,太好了。然而...
website.com/tag/python/party:這將渲染標記爲「python/party」的所有帖子,而不是呈現404.
這是我的URL模式設置,所以你可以看一看。
url(r'^post/(?P<pk>\d+)/(?P<post_title>)', DetailView.as_view(
model = post,
template_name = "post.html")),
url(r'^post/$', ListView.as_view(
queryset = post.objects.all().order_by("-date"),
template_name = "archives.html")),
url(r'^archives/$', ListView.as_view(
queryset = post.objects.all().order_by("-date"),
template_name = "archives.html")),
url(r'^tag/(?P<tag>[\w|\W]+)', 'tags'),
更新
解決方案標籤:
url(r'^tag/(?P<tag>[\w]+)\W*/$', 'tags'),
解決方案後:
url(r'^post/(?P<pk>\d+)/(?P<post_url>[\w-]+)/$', DetailView.as_view(
model = post,
template_name = "post.html")),
謝謝哈克貝利·費恩和krakax所有幫助!
嘿哈克,我已經試過這一點,但我得到的404錯誤'當前的URL,post/1/hello-world /,沒有匹配任何這些。' – alxmrph 2013-03-26 18:47:17
@alxmrph更新了答案;} – 2013-03-26 18:53:36
我得到'posts /''post /',但添加了'/ $'如下所示,我收到一個404錯誤,無法匹配URL。 'url(r'^ post /(?P \ d +)/(?P )/ $',DetailView.as_view( model = post, template_name =「post.html」)),' –
alxmrph
2013-03-26 19:01:03