我有一个简单的网址与我的某个应用程序不匹配( plaq )
主要网址:
urlpatterns = patterns('',
#...
url(r'^content/', include('content.urls')),
url(r'^$', include('content.urls')),
url(r'^plaq/', include('plaq.urls')),
#...
)
plaq url.py:
urlpatterns = patterns('',
(r'^$', pres),
(r'pres^$', pres),
(r'about^$', about),
(r'privacy^$', privacy),
)
尝试访问my_host/plaq/pres
给我
使用my_project.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:
...
12. ^内容/
13. ^ plaq / ^ $
14. ^ plaq / pres ^ $
15. ^ plaq / about ^ $
16. ^ plaq / privacy ^ $
...
当前网址plaq / pres /与其中任何一个都不匹配。
虽然my_host/plaq
显示了良好的pres
视图
为什么我无法访问my_host/plaq/pres
?
答案 0 :(得分:1)
插入符号(^
)匹配字符串的开头。我想你想要,例如(r'^pres$', pres),
(插话符移到前面)
答案 1 :(得分:1)
首先,您需要了解一下正则表达式:^
表示字符串的开头,但由于某种原因,您最终会得到它。
其次,您的网址以斜杠结尾,因此您的网址也必须为。
urlpatterns = patterns('',
(r'^$', pres),
(r'^pres/$', pres),
(r'^about/$', about),
(r'^privacy/$', privacy),
)