RuntimeWarning: DateTimeField a reçu un datetime naïf

J’essaye d’envoyer un simple mail en utilisant IPython. Je n’ai pas encore configuré de modèle pour obtenir cette erreur. Ce qui peut être fait?

Erreur: /home/sourabh/Django/learn/local/lib/python2.7/site-packages/django/db/models/fields/ init .py: 827: RuntimeWarning: DateTimeField a reçu une date et heure naïve (2013-09-04 14: 14: 13.698105) tandis que le support de fuseau horaire est actif. RuntimeWarning)

Essayé: La première étape consiste à append USE_TZ = True à votre fichier de parameters et à installer pytz (si possible).

Erreur modifiée:

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

    Le problème ne réside pas dans les parameters de Django, mais dans la date transmise au modèle. Voici à quoi ressemble un object sensible au fuseau horaire:

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

    Et voici un object naïf:

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

    Donc, si vous passez une date de messagerie n’importe où (et que cela arrive finalement à un modèle), utilisez now() Django’s now() . Sinon, il s’agit probablement d’un problème avec un package existant qui récupère la date sans fuseau horaire et vous pouvez appliquer le correctif au package, ignorer l’avertissement ou définir False sur USE_TZ.

    Utilisez la fonction django.utils.timezone.make_aware pour que vos objects naïfs datetime respectent le fuseau horaire et évitent ces avertissements.

    voici la documentation sur le problème que vous rencontrez le fuseau horaire et les appareils

    Juste pour corriger l’erreur pour régler l’heure actuelle

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