2013-07-17 39 views
0

突然之前我創建併發布的一些頁面返回「找不到」錯誤。重新發布它們並不能解決問題。沒有錯誤日誌,只是以下apache日誌:django-cms條目給出「未找到頁面」錯誤

[Wed Jul 17 12:37:18 2013] [error] /var/www/cms/venv/lib/python2.6/site-packages/django/conf/urls/defaults.py:3: DeprecationWarning: django.conf.urls.defaults is deprecated; use django.conf.urls instead 
[Wed Jul 17 12:37:18 2013] [error] DeprecationWarning) 
[Wed Jul 17 12:37:18 2013] [error] /var/www/cms/venv/lib/python2.6/site-packages/mptt/models.py:305: DeprecationWarning: Implicit manager CMSPlugin.tree will be removed in django-mptt 0.6. Explicitly define a TreeManager() on your model to remove this warning. 
[Wed Jul 17 12:37:18 2013] [error] DeprecationWarning 
[Wed Jul 17 12:37:18 2013] [error] /var/www/cms/venv/lib/python2.6/site-packages/django/db/models/fields/__init__.py:827: RuntimeWarning: DateTimeField received a naive datetime (2013-07-17 12:37:18.775099) while time zone support is active. 
[Wed Jul 17 12:37:18 2013] [error] RuntimeWarning) 
[Wed Jul 17 12:37:18 2013] [error] WARNING 2013-07-17 12:37:18,825 base 19632 140515393550304 Not Found: /en/departments/ 

任何可能的原因呢?謝謝。

回答

0

最後我的問題不是關於時區支持。深入到我的代碼中,我有一個帶有get_object_or_404()調用的生成器。這不應該觸發,但由於實際上是垃圾數據。

因此,下次檢查您的數據。

1

對於那裏的不同問題,您有不同的警告。

第一個警告DeprecationWarning: django.conf.urls.defaults is deprecated; use django.conf.urls instead是由於Django框架代碼本身發生了變化。正如它告訴你的,模塊django.conf.urls.defaults已被棄用,您應該使用django.conf.urls來代替,因此在代碼中替換它將會修復它。這不會導致你的Django CMS頁面不顯示,順便說一句。

第二個是由於Django CMS代碼中的一些更改而引發的另一個棄用警告。您必須查看upgrade notes以解決此問題。這不會導致您的CMS頁面問題。

第三個警告DateTimeField received a naive datetime while time zone support is active是因爲您沒有正確使用時區支持而引發的。首先,請確保您已安裝pytz包裝pip install pytz。然後,例如,您應該使用timezone模塊獲取now()時間戳,而不是datetime。請看看Django Time Zones documentation來解決這個問題,因爲我們無法看到你的項目代碼中的哪個時間戳被使用。

看看最後一個警告,看起來您的CMS頁面缺失問題發生在時間戳的某個地方。

+0

嗨,何塞,感謝您的詳細回覆,並對延遲迴答感到抱歉!這聽起來很合理,但我使用日期時間的唯一地方是南遷!我的意思是,南部生成的.py文件,以及我之前已經應用的.py文件。我應該擔心這些嗎?在這種情況下,我應該回滾這些遷移嗎? – sogeking

0

我有一個非常類似的問題。

在我的情況下,問題是父頁未公佈。必須發佈父頁才能找到子頁面。

+0

是的,不發佈父頁面也是一個問題。 – sogeking