2013-10-14 46 views
0

我有Django的1.5.1安裝和Django的CMS 2.4.2顯示出來404頁百日博客條目沒有找到

但是我還沒有整合百日草博客和Django的CMS,只是還沒有。

我能夠創建一個博客條目,但要到博客條目

8000/EN /博客/十分之二千零一十三/ 13 /測試進入/

我收到404找不到網頁時

有什麼想法?

回答

3

可能原因: urls.py中的urlpatterns包含次序。 Django-Cms設計缺乏。

修復:zinnia.urls後放cms.urls:

# patterns or i18n_patterns here. 
urlpatterns = i18n_patterns('',                                   
    url(r'^admin/', include(admin.site.urls)),                                
    url(r'^blog/', include('zinnia.urls')),                                
    url(r'^comments/', include('django.contrib.comments.urls')),                           
    url(r'^', include('cms.urls')), 
) 

說明:

如果您有百日草的URL之前CMS網址,Django的CMS 「塞」 模式相匹配的包括百日草博客網址的廣泛網址:

<RegexURLPattern pages-details-by-slug ^(?P<slug>[0-9A-Za-z-_.//]+)/$> 

作爲一個例子,將會匹配:「blog/2014/01/20/test-article-about-something /」

當它與django-cms:pages-details-by-slug匹配後,整個URI被存儲在「slug 「變量並作爲參數(在」kwargs「中)提供給cms.views.detail視圖函數。這種觀點稱之爲:

cms.utils.page_resolver import get_page_from_request(request, use_path=slug) 

和CMS不會找到(將提高「Resolver404」除外),以提供任何合適的頁面,因爲該URI屬於百日博客。

故事結束。

資源:

  1. 「細節」 視圖可以在這裏找到:cms.views
  2. Django的網址解析邏輯是在這裏:django.core.urlresolvers主要表現在兩個 「解析」 的方法。 (行:315 *遞歸,209 *非遞歸)