2013-07-17 36 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