2013-10-03 16 views
6

https://docs.djangoproject.com/en/dev/topics/http/views/ eğitimini kullanmayı denedim, ancak yine de standart 404 html sayfasını alıyorum. Ben o (Tutulma kullanarak) hata ayıklama yaptımDjango'da standart handler404, handler403, handler500'ü nasıl geçersiz kılabilirim?

handler404 = 'myview.views.custom_page_not_found' , 

benim özel görünüm için geçmek istiyorum, sonra handler404(old value -'django.config.default.views.page_not_found değeri) I ('myview.views.custom_page_not_found') verdik yeni değere göre değişir. Ama yine de eski 404 sayfasını gösteriyor. Ve settings.py DEBUG öğesini False olarak değiştirdim, sonra özel sayfayı gösterir. Ancak bazı dezavantajları var (statik dosyaları yüklemiyor ve hepsi de DEBUG = false doğru yol değil), bu yüzden True'a sıfırlamak zorunda kaldım.

Bunu uygulamak için başka bir değişiklik yapmak zorunda mıyım?

cevap

0

deneyin: Kullanmak uygun şablona 404.html dışarı

if settings.DEBUG: 
    urlpatterns += patterns('', 
     (r'^404/$', TemplateResponse, {'template': '404.html'})) 

Takas, ben 404.html olsa varsayılan olduğuna inanıyoruz. Sonra debug = True ile 404 sayfanızı test edebilirsiniz. DEBUG = False ile çalıştırırken

#Enable static for runserver with debug false 
from django.conf import settings 
if settings.DEBUG is False: #if DEBUG is True it will be served automatically 
    urlpatterns += patterns('', 
      url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}), 
    ) 

, statik toplamayı unutma:

Debug ile test edin istiyorum = True ise

o zaman bunun yerine ana urls.py altındaki bu gerekir:

python manage.py collectstatic 

Bu yardımcı olur umarım, Şerefe!

İlgili konular