我创建了一个非常简单的博客,但已经遇到了几个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