如何解决RuntimeWarning:DateTimeField 收到一个天真的日期时间
问题不在于 Django 设置,而在于传递给模型的 以下是时区感知对象的外观:
>>> from django.utils import timezone
>>> import pytz
>>> timezone.now()
datetime.datetime(2013, 11, 20, 20, 8, 7, 127325, tzinfo=pytz.UTC)
这是一个天真的对象:
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2013, 11, 20, 20, 9, 26, 423063)
因此,如果您在任何地方传递电子邮件日期(最终到达某个模型),只需使用 Django 的now()
.
如果不是,则可能是现有软件包的问题,它获取没有时区的日期,您可以修补软件包、忽略警告或将 USE_TZ 设置为 False。
解决方法
我正在尝试使用 IPython 发送一封简单的邮件。我没有设置任何仍然出现此错误的模型。可以做什么?
错误:/home/sourabh/Django/learn/local/lib/python2.7/site-
packages/django/db/models/fields/init .py
:827:RuntimeWarning:DateTimeField 收到一个幼稚的日期时间(2013-09-04
14:14:13.698105),而时区支持处于活动状态。运行时警告)
尝试过:第一步是添加USE_TZ = True
到您的设置文件并安装pytz
(如果可能)。
错误改变:
(learn)sourabh@sL:~/Django/learn/event$ python manage.py shell
/home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py:53: RuntimeWarning: SQLite received a naive datetime (2013-09-05 00:59:32.181872) while time zone support is active.
RuntimeWarning)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。