我正在尝试构建我的第一个支持Django的博客,但我陷入了困境。
我正在尝试从访问过的网址中获取永久链接,以显示单个帖子。
我正在使用的永久链接是这样的:
http://127.0.0.1:8000/blog/20-feb-2012/a-nice-post/
我想从此网址抓取日期和slug并将其传递到视图的功能中。
我做了这个正则表达式:
(r'^blog/(?P<day>\d{2})-/(?P<month>\w{3})-/(?P<year>\d{4})/(P?<slug>[-\w]+)/$','blog.views.single_post'),
在urls.py文件中,但它似乎无效。
这个正则表达式出了什么问题?
答案 0 :(得分:2)
您在日期 - 月份之间包含了斜杠。删除它们。
(r'^blog/(?P<day>\d{2})-(?P<month>\w{3})-(?P<year>\d{4})/(?P<slug>[-\w]+)/$','blog.views.single_post'),
答案 1 :(得分:1)
不检查任何其他内容,您在slug部分中有P?
而不是?P
。
答案 2 :(得分:0)
对于初学者,你的正则表达式中有额外的斜杠,例如(?P<month>\w{3})-**/**(?P<year>\d{4})
,你还有P吗?而不是?P在最后。
此外,我认为您可能希望有一个正常的regexp示例。所以我测试了这个,它适用于/blog/20-feb-2012/a-nice-post/
:
r'^blog/(?P<day>\d{2})-(?P<month>\w{3})-(?P<year>\d{4})/(?P<slug>[-\w]+)/$'