2013-03-19 4 views
6

विंडोज 7
अजगर 2.7.3
Django 1.5
अजगर manage.py runserverDjango ट्यूटोरियल: कस्टम 404 और 500 बार देखा गया

मैं के रूप में उपलब्ध ट्यूटोरियल अनुसरण कर रही हूं 'https://docs.djangoproject.com/en/1.5/intro/tutorial03/'

मैं चीजों को डरने से पहले '404 लिखें (पृष्ठ नहीं मिला) देखें' तक पहुंच गया।

मैंने कस्टम 404 दृश्य बनाने के तरीके को जानने का प्रयास किया है। हालांकि, मुझे यकीन नहीं है:

ए। जहां वास्तव में कस्टम 404.html फ़ाइल रहनी चाहिए। यह मेरे प्रोजेक्ट निर्देशिका पेड़ में या मेरे Django निर्देशिका पेड़ में होना चाहिए। मेरे परियोजना निर्देशिका वृक्ष इस तरह दिखता है,

1> mysite 
2>  - mysite 
3>  - polls 
4>   - templates 
5>    - polls 
6>  - templates 
7>   - admin 

वर्तमान में 404.html है @ 6>

बी क्या संशोधनों के लिए जहां बनाया जा? मैं समझता हूं कि एक हैंडलर 404 और एक हैंडलर 500 को 'रूट' यूआरएल conf में सेट करने की आवश्यकता है। मेरे पास url.py रहता है @ 2> और 3> (ऊपर पेड़ देखें)। यह मानते हुए कि 2> सही जगह मुझे लगता है कि वाक्य रचना इस प्रकार होता है,

handler404 = 'templates.404' 
handler500 = 'templates.500' 

और क्या, स्थापित किया जाना है, जहां जरूरत है?

उत्तर

7

जैसा कि मैं देख सकता हूं कि आपको थोड़ा गलती है, लेकिन चिंता न करें।

देखो, इस प्रयास करें:

handler404 = 'mysite.views.error404' 
mysite में

तब (दूसरा mysite) यदि आप न एक views.py पैदा करता है। उस दृश्य में:

from django.shortcuts import render 

def error404(request): 
    return render(request,'404.html') 

और यह सब कुछ! टेम्पलेट्स में, उस फ़ाइल को बनाएं और कुछ अच्छा करें!

याद रखें कि केवल (DEBUG=False) उत्पादन में काम करता है अन्यथा django ट्रेसबैक का उपयोग करता है। 505 के लिए समान है, और आप शायद handler404 = 'polls.views.see404' आज़मा सकते हैं और views.py में डाल सकते हैं लेकिन आप जानते हैं, स्वाद अलग-अलग हैं। urls.py

#handler404 = 'mysite.views.error404'

में टिप्पणी और डीईएफ़ views.py में भी निकालें:

अब, कुछ और, उदाहरण के लिए प्रयास करें।

आपकी टेम्पलेट्स फ़ाइल की अनुक्रमणिका में एक साधारण 404.html बनाता है। उत्पादन में सर्वर चलाएं और उस 404 त्रुटि का उत्पादन करें, क्या हुआ?

+2

आप स्थिति कोड 404 डालना भूल गए – DataGreed

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