Noob问题可以肯定。我正在从Practical Django Projects,第二版开始研究coltrane项目。
我的urlpattern条目是:
(r'^blog/(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$', 'coltrane.views.entry_detail'),
实际网址为:127.0.0.1:8000 / blog / 12 / sep / 17 /thank-you-very-much
实际的URL不会触发视图 - 'coltrane.views.entry_detail' - 与urlpattern条目相关联。相反,它会在url模式元组的末尾触发catchall模式。捕获模式是:
(r'', include('django.contrib.flatpages.urls')),
当浏览器尝试加载页面时,manage.py报告:[18 / Sep / 2012 10:59:31]“GET / blog / 2012 / sep / 17 /非常感谢HTTP / 1.1 “404 1667
调试页面报告未找到页面,No FlatPage与给定查询匹配。
据我所知,一切都井然有序。那么我在这里简单的NOOB错误是什么?
答案 0 :(得分:2)
更改“P?”在捕捉slu field场时,“?P”。 (P?[ - \ w] +)=&gt; (P 2 [ - \ W] +)
答案 1 :(得分:2)
您必须在网址的末尾添加斜杠,因为正则表达式定义了在网址末尾匹配斜杠(/$
)
所以改成它:
127.0.0.1:8000/blog/2012/sep/17/thank-you-very-much/