2013-08-01 61 views
0

你好我是Django的新手。無法分離urls.py

我正在爲練習創建一個博客應用程序,我想要將與博客應用程序有關的網址與涉及其他應用程序的網址分開。

由於有很多博客相關的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頁面未找到錯誤。

我哪裏出錯了?

回答

0
  1. name參數用於單個url模式。在My_Project/My_Project/urls.py中將其從此行中刪除它
  2. 正則表達式模式不應該是'^ $'。而只是簡單的''

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

的問題是在這裏:

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

您會限制您的網址爲空路徑,這意味着一切,這是不是一個空洞的路徑將不反對app_blog.urls匹配。 取而代之:

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