我试图使用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)
3 回答
问题不在Django设置中,而是在传递给模型的_749002中 . 以下是时区感知对象的外观:
这是一个天真的对象:
因此,如果您在任何地方传递电子邮件日期(并最终获得某些模型),请使用Django的
now()
. 如果没有,那么现有的包可能是一个问题,它在没有时区的情况下获取日期,您可以修改包,忽略警告或将USE_TZ设置为False .使用django.utils.timezone.make_aware函数可以使您的天真日期时间对象感知时区并避免这些警告 .
它将天真的日期时间对象(没有时区信息)转换为具有时区信息的对象(使用django设置中指定的时区,如果未将其明确指定为第二个参数):
只是为了修复错误来设置当前时间