documentation के अनुसार यह काफी सरल होना चाहिए: मुझे बस handler404
को परिभाषित करने की आवश्यकता है। वर्तमान में मैं कर रहा हूँ, मेरी शीर्ष urls.py
में:django में कस्टम हैंडलर 404 को व्यवस्थित तरीके से कैसे सेट करें?
urlpatterns = [
...
]
handler404 = 'myapp.views.handle_page_not_found'
आवेदन स्थापित किया गया है। इसी दृश्य सिर्फ (कुछ समय के मैं सिर्फ 404 के मामले में मुख्य पृष्ठ पर रीडायरेक्ट करना चाहते हैं के लिए) है:
def handle_page_not_found(request):
return redirect('homepage')
लेकिन यह कोई प्रभाव नहीं है: मानक (डीबग) 404
पेज दिखाया गया है।
प्रलेखन थोड़ा अस्पष्ट है:
- जहां
handler404
परिभाषित किया जाना चाहिए? प्रलेखनURLconf
में कहता है लेकिन, वास्तव में कहां? मेरे पास कई अनुप्रयोग हैं, प्रत्येक एक अलगurls.py
के साथ। क्या मैं इसे किसी भी में डाल सकता हूं? शीर्षURLconf
में? क्यूं कर? यह दस्तावेज कहां है? - इस हैंडलर द्वारा क्या पकड़ा जाएगा? क्या यह
django.http.Http404
,django.http.HttpResponseNotFound
,django.http.HttpResponse
(status=404
के साथ) पकड़ जाएगा?
आपकी सेटिंग्स में 'DEBUG 'क्या है? यदि यह 'सत्य' है, तो क्या आप इसे 'गलत' में बदल सकते हैं और देख सकते हैं? –
@ShangWang: धन्यवाद! दरअसल, इसे 'गलत' पर सेट करने से समस्या हल हो जाती है। यह दस्तावेज नहीं है, afaik। – dangonfast
@delavnog - इसमें [त्रुटि रिपोर्टिंग अनुभाग] (https://docs.djangoproject.com/en/1.9/howto/error-reporting/#error- रिपोर्टिंग) - "जब DEBUG गलत है, ..." – Sayse