【问题标题】:Having trouble separating urls.py无法分离 urls.py
【发布时间】:2013-08-02 09:14:49
【问题描述】:

你好,我是 Django 的新手。

我正在创建一个用于练习的博客应用程序,我想将与博客应用程序相关的 url 与与其他应用程序相关的 url 分开。

由于有很多与博客相关的 url 模式,我只包含在主要的 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 page not found 错误。

我哪里出错了?

【问题讨论】:

    标签: django django-templates django-views


    【解决方案1】:

    问题出在这里:

    # Blog
    url(r'^$', include('app_blog.urls'), name='app_blog'),
         ~~~
    

    您将 url 限制为空路径,这意味着不是空路径的所有内容都不会与 app_blog.urls 匹配。 改为这样做:

    # Blog
    url(r'^', include('app_blog.urls')),
    

    【讨论】:

      【解决方案2】:
      1. name 参数用于单个 url 模式。从 My_Project/My_Project/urls.py 的这一行中删除它
      2. 正则表达式模式不应为 '^$'。取而代之的是简单的''

        url(r'', include('app_blog.urls'))
        

      【讨论】:

        猜你喜欢
        • 2016-10-22
        • 1970-01-01
        • 2022-07-06
        • 1970-01-01
        • 1970-01-01
        • 2014-01-03
        • 2014-01-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多