0

突然间,我之前创建和发布的一些页面返回“未找到”错误。重新发布它们并不能解决问题。没有错误日志,只有以下 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/

这有什么可能的原因吗?谢谢。

4

3 回答 3

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 代码的一些更改而引发的另一个弃用警告。您必须查看升级说明才能解决此问题。这也不会导致您的 CMS 页面出现问题。

第三个警告DateTimeField received a naive datetime while time zone support is active是因为您没有正确使用时区支持而引发的。首先,确保您已经安装了pytzpip install pytz。然后,例如,您应该使用该timezone模块来获取now()时间戳,而不是datetime. 请查看Django Time Zones 文档以解决该问题,因为我们无法看到在您的项目代码中使用时间戳的位置。

查看最后一个警告,您丢失的 CMS 页面的问题似乎发生在时间戳中的某个地方。

于 2013-07-17T11:34:47.093 回答
0

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

所以,下次先检查你的数据。

于 2013-08-08T11:03:34.503 回答
0

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

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

于 2017-01-20T03:17:07.350 回答