4

404 및 500 템플릿을 구현하고 있지만 404.html 템플릿이 request.user.is_authenticated를 반환하는 것처럼 보이지만 500.html 템플릿은 아무 것도 반환하지 않습니다. 또한 request.user를 확인했으며 500 페이지에서 비어 있습니다.Django 사용자 정의 500 오류 템플릿이 request.user를 표시하지 않습니다.

500 오류가 발생하면 예상 오류보고 전자 메일이 수신되고 사용자가 요청 분류에 올바르게 정의되어 있기 때문에 매우 이상합니다. 나는 여기 views.py의 코드 사용하고 있어요 : (어쩌면 RequestContext에서) 백그라운드에서 뭔가 (404)와 다른 (500)을 치료하면 내가 궁금하네요

def handler404(request): 
    response = render_to_response('404.html', {}, 
            context_instance=RequestContext(request)) 
    response.status_code = 404 
    return response 


def handler500(request): 
    response = render_to_response('500.html', {}, 
            context_instance=RequestContext(request)) 
    response.status_code = 500 
    return response 

? 장고 - 후견인도 사용하고 있음을 언급해야합니다. 비록 이것이 장황한 경우에 영향을 미치지 않는다고 생각합니다. 어떤 아이디어?

편집 :This comment 주장 ". 그것은 500 서버 오류를보고 있기 때문에 서버가 무엇을 제공 할 수 없습니다 있도록 500 템플릿, request.user 렌더링하지 않습니다" 누구든지이 문제를 해결할 방법을 알고 있습니까? 내가 말했듯이 오류 보고서에서받는 로그에 사용자 이름이있는 요청 개체가 명확하게 있기 때문에 하나가 있어야합니다.

편집 2 : 이제 django-allauth와 관련이 있는지 궁금합니다. 잘 사용하고 있습니다.

+0

handler500 함수의 컨텍스트 변수 사전에 수동으로''user ': request.user'를 전달하십시오. – souldeux

+0

@souldeux 안타깝게도 작동하지 않습니다. 어쨌든 전체 요청 객체를 제대로 전달하는 것이 정말로 필요합니다. 내가 시도하는 것은 작동하지 않는 것 같습니다 ... 요청이 어떤 시점에서 제거되는 것과 같습니다. –

답변

3

나는 그것을 알아 냈다!

handler500 = "mysite.views.handler500" 
404가 동등한 라인없이 잘 작동 방법

매우 이상하지만, 500 행동 정말 이상한 : 나는 urls.py를 위해 다음 줄을 추가했다.

관련 문제