example emailmessage email_host django django-mailer

django - emailmessage - RuntimeWarning: DateTimeField recibió un datetime ingenuo



django sendgrid (4)

Estoy tratando de enviar un correo simple usando IPython. No he configurado ningún modelo que sigue recibiendo este error. ¿Qué se puede hacer?

Error: /home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/models/fields/ init .py: 827: RuntimeWarning: DateTimeField recibió un datetime naive (2013-09-04 14: 14: 13.698105) mientras el soporte de zona horaria está activo. RuntimeWarning)

Intentado: el primer paso es agregar USE_TZ = True a tu archivo de configuración e instalar pytz (si es posible).

Error cambiado:

(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)



El problema no está en la configuración de Django, sino en la fecha pasada al modelo. Así es como se ve un objeto consciente de la zona horaria:

>>> from django.utils import timezone >>> import pytz >>> timezone.now() datetime.datetime(2013, 11, 20, 20, 8, 7, 127325, tzinfo=pytz.UTC)

Y aquí hay un objeto ingenuo:

>>> from datetime import datetime >>> datetime.now() datetime.datetime(2013, 11, 20, 20, 9, 26, 423063)

Entonces, si está pasando la fecha de correo electrónico en cualquier lugar (y eventualmente llega a algún modelo), solo use Django''s now() . Si no, es probable que sea un problema con un paquete existente que recupera la fecha sin la zona horaria y puede parchear el paquete, ignorar la advertencia o establecer USE_TZ en False.


Sólo para corregir el error para establecer la hora actual

from django.utils import timezone import datetime datetime.datetime.now(tz=timezone.utc) # you can use this value