2008-09-23 3 views
5

मैं अपने Django ऐप को तैनात करने की तैयारी कर रहा हूं और मैंने देखा कि जब मैं "DEBUG" सेटिंग को गलत में बदलता हूं, स्थिर फ़ाइलों (यानी, जावास्क्रिप्ट, सीएसएस, आदि ..) के सभी संदर्भ HTTP 500 त्रुटियों में परिणाम देते हैं।डीजेगो स्थिर मीडिया के लिए HTTP 500 त्रुटियों को क्यों उत्पन्न करता है जब डीबग गलत पर सेट होता है?

कोई विचार क्या समस्या उत्पन्न कर रहा है (और इसे कैसे ठीक करें)?

उत्तर

12

मैं अत्यधिक अनुशंसा करता हूं कि आपके वेब सर्वर को स्थिर अनुरोधों को संभालने की सलाह दी जाए, बिना Django के। मेरे urls.py में, जब मैं डीबग को सत्य पर सेट करता हूं तो मैं केवल स्थिर अनुरोध हैंडलर जोड़ता हूं।

तकनीकी रूप से, Django स्थिर कार्यों की सेवा ठीक है हालांकि। निश्चित रूप से लघु दस्तावेज़ पृष्ठ, http://docs.djangoproject.com/en/dev/howto/static-files/ पढ़ें। आप urls.py

(r'^static/(?P<path>.*)$', 'django.views.static.serve', 
    {'document_root': '/path/to/media'}) 
+0

हा। अगर मैं अपना खुद का urls.py देखता हूं तो यह मदद कर सकता है। मेरे पास यह सब वायर्ड सेटिंग है। उह ... यह एक लंबा विकास चक्र रहा है। :) – Huuuze

6

ऐसा लगता है में इस तरह एक प्रविष्टि का उपयोग करने के लिए Django विकास सर्वर का उपयोग कर अपने स्थिर मीडिया सेवा करने के लिए प्रयास कर रहे हों जैसे चाहता हूँ। स्थिर फ़ाइलों को कैसे सेवा दी जाए, इसके लिए कुछ तैनाती परिदृश्य/हाटोस और http://docs.djangoproject.com/en/dev/howto/static-files/ के लिए http://docs.djangoproject.com/en/dev/howto/deployment/ पर एक नज़र डालें (लेकिन उत्पादन में उन विधियों का उपयोग न करने के बारे में अस्वीकरण को नोट करें)।

सामान्यतः, मैं आपके सर्वर लॉग देखता हूं और देखता हूं कि यह कहां से फाइल लाने की कोशिश कर रहा है। मुझे संदेह है कि 500 ​​त्रुटियां वास्तव में 404 त्रुटियां हैं, लेकिन वे 500 त्रुटियां बनती हैं क्योंकि Django 404.html टेम्पलेट नहीं ढूंढ या प्रस्तुत नहीं कर सकता है। यदि ऐसा नहीं है, तो यह उपयोगी होगा यदि आप जो विशिष्ट 500 त्रुटि प्राप्त कर रहे हैं उसे पोस्ट कर सकते हैं।

0

आपको जगह पर अपने यूआरएल भी देखना चाहिए। जब DEBUG को गलत पर सेट किया जाता है, तो "/" पीछे के बिना सभी यूआरएल को बग के रूप में माना जाता है, जब आपके पास DEBUG = True होता है, तो किस मामले में Django हर जगह "/" जोड़ देगा। तो, संक्षेप में, सुनिश्चित करें कि सभी लिंक हर किसी के स्लैश के साथ समाप्त होते हैं।

0

बाहर निकलता है मैंने SECRET_KEY चर से टिप्पणी की थी। हालांकि मुझे जानने के लिए कोई रास्ता नहीं था। बस चीजों को आजमा देना था।

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

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