2010-01-18 4 views
2

맞춤 404 템플릿에 추가 변수 을 사용할 수 있기를 원합니다.맞춤 404 템플릿의 추가 변수

#404.html 
{{ extra_var }} 

난 이미 시도 :

#urls.py 
from myproject.myapp import views 
handler404 = views.handler404 

#views.py 
from django.template import RequestContext, loader 
from django import http 
def handler404(request): 
    extra_var = 'my_extra_var' 
    t = loader.get_template('404.html') 
    return http.HttpResponseNotFound(t.render(RequestContext(request, 
     {'request_path': request.path, 'extra_var': extra_var, }))) 

그러나, 작동하지 않는 것 : 나는 할 수 request_path.

+0

"작동하지 않는 것 같습니다"는 몹시 모호합니다. 무슨 일이야? 'handler404'가 호출되고 있습니까? 템플릿에서'request_path'에 접근 할 수 있습니까? –

+0

나는'request_path'에만 접근 할 수 있습니다. –

+0

설정에'DEBUG = True'가 있습니까? –

답변

2

당신이 request_path하지만 extra_var이 제안에 액세스 할 수 있다는 사실에 전용 액세스 나에게 내게보기가 제대로 호출되지 않고 있습니다. 이 404.html 템플릿에 자동으로 전달되었으므로 documentation :

권장되는 기본을, 간단하게 사용 - - 당신이 당신의 자신의 404보기 를 정의하지 않으면

당신은 여전히 ​​하나 개 의무가 있습니다 : 당신이 당신의 템플릿 의 루트에 404.html 템플릿을 만들어야합니다 예배 규칙서. 기본 404보기는 모든 404 오류에 대해 템플릿을 사용합니다. request_path, 난 당신처럼, 오히려 모듈보다 handler404에게 문자열을 줄 필요가 생각하는 404

초래하는 URL은 다음과 같습니다 기본 404보기 템플릿에 하나 개 변수를 전달합니다 이 :

handler404 = 'myproject.myapp.views.handler404' 
3

나는 비슷한 문제가있다.

handler404urls.py 파일에 설정해야하지만 파일을 가져와야하며 이는 문서에 없습니다. 귀하의 수입

from django.conf.urls.defaults import patterns, include, url, handler404 
    1. 추가 handler404handler404="string.of.the.view.to.load"

      handler404="myApp.views.pagenotfound" 
      
    2. 은 평소보기로 view.py에 404보기를 정의 설정합니다.

  • +0

    문서에서 이것을 사용하는 것이 좋으며, 초보자를위한 도움이됩니다. 많은 시간을 낭비합니다. –

    관련 문제