遵循本文档(https://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views),我将尝试为我的Django应用程序创建一个自定义的error403页面。
我在我的URLConf中创建了一个错误处理程序:
handler403 = 'courses.views.error403'我还创建了一个名为error403的处理错误403的视图:
def error403(request):
'''
Default view for error 403: Inadequate permissions.
'''
return render_to_response('utility/mustLogin.html', {'user': request.user})然而,这个视图根本不是渲染的。当我故意制造一个错误403时,默认浏览器403页面只会出现,而不是我的模板。

我是不是忘记执行某些操作了?谢谢。
发布于 2012-01-18 10:56:52
handler403是开发版本中的新特性。如果您使用的是较旧的版本(<= 1.3),则此选项尚未实现。
在旧版本中,有一些方法可以实现这一点,如here所述。它涉及到一个新的中间件、一个自定义异常和HttpResponseForbidden。不过,我不知道它与项目的其余部分会有多好的整合。
发布于 2012-01-18 10:55:05
如果返回的页面小于512字节,Google Chrome会将其替换为通用页面。他们对404个回复也做了同样的事情。
值得一提的是,Internet Explorer也做了同样的事情。
如果你的响应大于512字节,那么一切都会好的。
https://stackoverflow.com/questions/8904551
复制相似问题