2012-07-19 18 views
9

Django bana bazı çalışma zamanı uyarıları veriyor (yazmadığım kodda).Django: çalışma zamanı uyarıları için yığın izleri nasıl edinilir

Django'yu bana bir stacktrace vermek için nasıl alabilirim, bu yüzden bunlara neyin neden olduğunu görebilir miyim?

/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py:808: 
RuntimeWarning: DateTimeField received a naive datetime (2012-07-19 09:36:16.161479) 
while time zone support is active. 
    RuntimeWarning 
+1

cevabım sorunuzu yanıtladı mı? – dalore

+0

Hey, en azından bir cevabı kabul et. – dalore

+0

Merhaba üzgünüm, sadece cevabını gördüm. – fadedbee

cevap

14

: geliştirme sürecinde https://docs.djangoproject.com/en/1.10/topics/i18n/timezones/#code

, sen istisnalarıyla tür uyarıları açmak ve ayarları dosyasına aşağıdaki ekleyerek Traceback alabilirsiniz:

import warnings 
warnings.filterwarnings(
    'error', r"DateTimeField .* received a naive datetime", 
    RuntimeWarning, r'django\.db\.models\.fields') 
-3

Django'nın kaynak Olanları anlatır:

def get_prep_value(self, value): 
    value = self.to_python(value) 
    if value is not None and settings.USE_TZ and timezone.is_naive(value): 
     # For backwards compatibility, interpret naive datetimes in local 
     # time. This won't work during DST change, but we can't do much 
     # about it, so we let the exceptions percolate up the call stack. 
     warnings.warn(u"DateTimeField received a naive datetime (%s)" 
         u" while time zone support is active." % value, 
         RuntimeWarning) 
     default_timezone = timezone.get_default_timezone() 
     value = timezone.make_aware(value, default_timezone) 
    return value 
+1

Teşekkürler, ama bunu biliyorum. Çalışma zamanı uyarısının nedenini arıyorum. Bu sadece bir ... – fadedbee

-2

Bu django içinde zaman dilimi desteği etkin olduğu anlamına gelir; ancak buna eklenmiş herhangi bir saat dilimi bilgisi olmayan bir datetime nesnesini geçtiniz.

Django'nun saat dilimi desteğini istiyorsanız, kullanılan tarih saatleri nesnelerinin saat dilimi farkında olması gerekir.

documentation on timezone support, datetime nesnelerini timzeon'lara sahip olanlara dönüştürmenin bir yolunu sağlar. En Dokümanlar

+1

Teşekkürler, ama bunu biliyorum. Çalışma zamanı uyarısının nedenini arıyorum. Bu tek değil ... – fadedbee

İlgili konular