RuntimeWarning:DateTimeField收到一个天真的日期时间
我尝试使用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),而时区支持处于活动状态。 RuntimeWarning)
试过:第一步是将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)
问题不在于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)
因此,如果您在任何地方传送电子邮件日期(并且最终到达某个模型), now()
就使用Django的now()
。 如果不是,那么现有的软件包可能会提取没有时区的日期,您可以修补该软件包,忽略该警告或将USE_TZ设置为False。
这里是关于你面对时区和灯具的问题的文档
使用django.utils.timezone.make_aware函数使您的天真日期时间对象能够识别时区,并避免出现这些警告。
链接地址: http://www.djcxy.com/p/38667.html上一篇: RuntimeWarning: DateTimeField received a naive datetime