大家好 我刚刚意识到在部署时,debug = False,做这样的事情:
try:
fb_friends_raw = retrieve_and_store_fb_friends(request.facebook.uid, request.facebook.access_token)
except Exception, e:
messages.error( request, 'Cannot retrieve your friends, do it later.' + str(e))
return HttpResponseServerError('Cannot retrieve your friends, do it later.' + str(e))
将带您到一个简单的html文件,错误作为主体而不是500.html。我不认为404是合适的,因为它是服务器错误而不是找不到的页面。
显然,当用户遇到此问题时,我想渲染具有注销按钮的基本模板,用户可以从头开始。一世 目前在500.html和404.html中有。
处理部署错误的正确方法是什么?
答案 0 :(得分:0)
那是因为HttpServerResponse
只是HttpResponse
http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseServerError
500.html。 http://docs.djangoproject.com/en/dev/topics/http/views/#the-500-server-error-view
如果要为此例外呈现特定模板,您只需返回常规响应,但将status_code
修改为500.
http://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponse.status_code
例如:
response = direct_to_template(request, "mytemplate.html", {})
response.status_code = 500
return response