2012-07-19 12 views
9

Django मुझे कुछ रनटाइम चेतावनियां दे रहा है (कोड पर मैंने लिखा नहीं था)।Django: रनटाइम चेतावनियों के लिए स्टैक निशान कैसे प्राप्त करें

मैं Django को मुझे एक स्टैकट्रैक देने के लिए कैसे प्राप्त कर सकता हूं, इसलिए मैं देख सकता हूं कि इनका क्या कारण है?

/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

मेरा उत्तर आपके प्रश्न का उत्तर दिया? – dalore

+0

हे कम से कम एक जवाब स्वीकार करने के बारे में हे। – dalore

+0

हाय, क्षमा करें, मैंने केवल आपका जवाब देखा है। – fadedbee

उत्तर

14
पर डॉक्स से

: https://docs.djangoproject.com/en/1.10/topics/i18n/timezones/#code

विकास के दौरान, आप अपवादों में इस तरह के चेतावनी देते हैं और अपनी सेटिंग्स फ़ाइल में निम्न को जोड़कर एक ट्रैस बैक प्राप्त कर सकते हैं:

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

Django के स्रोत आपको बताता है कि अभी क्या हुआ:

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

धन्यवाद, लेकिन मुझे यह पता है। मैं रनटाइम चेतावनी के कारण क्या देख रहा हूं। यह केवल एक ही नहीं है ... – fadedbee

1

आप अपने एक लॉग फ़ॉर्मेटर को लागू करने और traceback.print_exception() का उपयोग कर लॉग में चेतावनी संदेश के लिए वापस ट्रेस कर रख सकते हैं।

FormatException

इस उल्लेख कर सकते हैं पर Fomatter डॉक्स का संदर्भ लें, How do I use Django's logger to log a traceback when I tell it to?

+0

यह एक अपवाद नहीं है, केवल एक चेतावनी है। यह काम करेगा? – fadedbee

+0

@ क्रिसिस्यू, मैंने कोशिश नहीं की है, लेकिन मुझे लगता है कि काम करना चाहिए। – Rohan

-2

कि आप Django में समय क्षेत्र समर्थन सक्षम इसका मतलब यह है; लेकिन आपने इसे एक डाटाटाइम ऑब्जेक्ट पास किया है जिसमें इसके साथ जुड़ा कोई ज़ोन जानकारी नहीं है।

यदि आप django के टाइमज़ोन समर्थन चाहते हैं, तो उपयोग की जाने वाली डेटाटाइम वस्तुएं समय-समय पर जागरूक होनी चाहिए।

documentation on timezone support आपके डेटाटाइम ऑब्जेक्ट्स को टाइमज़ोन वाले लोगों में बदलने का एक तरीका प्रदान करता है।

+1

धन्यवाद, लेकिन मुझे यह पता है। मैं रनटाइम चेतावनी के कारण क्या देख रहा हूं। यह एकमात्र नहीं है ... – fadedbee

संबंधित मुद्दे