Sto cercando di inviare una semplice mail usando IPython. Non ho ancora impostato alcun modello per ottenere questo errore. Cosa si può fare?
Errore: /home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/models/fields/ init .py: 827: RuntimeWarning: DateTimeField ha ricevuto un datetime ingenuo (2013-09-04 14: 14: 13.698105) mentre il supporto del fuso orario è attivo. RuntimeWarning)
Provato: il primo passo è aggiungere USE_TZ = True
al file delle impostazioni e installare pytz
(se ansible).
Errore modificato:
(learn)[email protected]:~/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)
Il problema non è nelle impostazioni di Django, ma nella data passata al modello. Ecco come appare un object sensibile al fuso orario:
>>> from django.utils import timezone >>> import pytz >>> timezone.now() datetime.datetime(2013, 11, 20, 20, 8, 7, 127325, tzinfo=pytz.UTC)
Ed ecco un object ingenuo:
>>> from datetime import datetime >>> datetime.now() datetime.datetime(2013, 11, 20, 20, 9, 26, 423063)
Quindi se passi la data dell’email ovunque (e alla fine arriva a qualche modello), usa semplicemente Django now()
. In caso contrario, probabilmente si tratta di un problema con un pacchetto esistente che recupera la data senza fuso orario e puoi applicare una patch al pacchetto, ignorare l’avviso o impostare USE_TZ su False.
Usa la funzione django.utils.timezone.make_aware per rendere consapevoli i tuoi oggetti datetime ingenui dal fuso orario ed evitare tali avvertimenti.
ecco la descrizione del problema che stai affrontando Fuso orario e infissi
Solo per correggere l’errore per impostare l’ora corrente
from django.utils import timezone import datetime datetime.datetime.now(tz=timezone.utc) # you can use this value