您好我是Django的新手。
我正在为练习创建一个博客应用,我想将与博客应用相关的网址与其他应用相关的网址分开。
由于有许多与博客相关的网址模式,我只是包含在主urls.py
中。
这是我的urls.py:
MY_PROJECT / MY_PROJECT / urls.py
urlpatterns = patterns('',
# Blog
url(r'^$', include('app_blog.urls'), name='app_blog'),
# Admin
url(r'^admin/$', include(admin.site.urls), name='admin_page'),
......
MY_PROJECT / app_blog / urls.py
urlpatterns = patterns('',
# Index page
url(r'^index/$', index_page),
# User page
url(r'^user/(?P<pk>\d+)/', UserDetail.as_view(), name='user_detail'),
......
所以我希望当我导航到“www.example.com/index”时,浏览器会显示index_page
视图,而对于“www.example.com/user/1”,它会显示用户id等于1的用户的详细信息视图。
但出于某种原因,它显示两个页面都找不到404页面错误。
我哪里出错?
答案 0 :(得分:0)
name
参数用于单个网址格式。在My_Project / My_Project / urls.py 正则表达式模式不应该是&#39; ^ $&#39;。而只是简单的''
。
url(r'', include('app_blog.urls'))
答案 1 :(得分:0)
问题在于:
# Blog
url(r'^$', include('app_blog.urls'), name='app_blog'),
~~~
您将网址限制为空路径,这意味着不是空路径的所有内容都不会与app_blog.urls
匹配。
这样做:
# Blog
url(r'^', include('app_blog.urls')),