django-cms条目给出“找不到页面”错误

时间:2013-07-17 10:39:30

标签: django django-cms

突然之前,我之前创建和发布的一些页面返回“未找到”错误。重新发布它们并不能解决问题。没有错误日志,只有以下apache日志:

[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/

任何可能的原因?感谢。

3 个答案:

答案 0 :(得分:1)

对于不同的问题,您有不同的警告。

第一个警告DeprecationWarning: django.conf.urls.defaults is deprecated; use django.conf.urls instead是由于Django框架代码本身发生了变化。正如它告诉你的那样,模块django.conf.urls.defaults已被弃用,你应该使用django.conf.urls代替,所以在你的代码中替换它将会解决它。这并没有导致你的Django CMS页面没有显示,BTW。

第二个是由于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页面的问题发生在时间戳中的某个位置。

答案 1 :(得分:0)

最后我的问题不是时区支持。深入到我的代码中,我有一个带有get_object_or_404()调用的生成器。这不应该被触发,但由于垃圾数据实际上就是这种情况。

因此,下次首先检查您的数据。

答案 2 :(得分:0)

我有一个非常类似的问题。

我的问题是父页未发布。必须发布父页面才能找到子页面。