分离urls.py时遇到问题

时间:2013-08-01 12:34:29

标签: django django-templates django-views

您好我是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页面错误。

我哪里出错?

2 个答案:

答案 0 :(得分:0)

  1. name参数用于单个网址格式。在My_Project / My_Project / urls.py
  2. 中将其从此行中删除
  3. 正则表达式模式不应该是&#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')),