如何在Django中创建自定义403页面?

dan*_*007 3 django http-status-code-403

按照此文档(https://docs.djangoproject.com/en/dev/topics/http/views/#customizing-error-views),我正在尝试为我的Django应用程序创建自定义错误403页面.

我在URLConf中创建了一个错误处理程序:

handler403 = 'courses.views.error403'
Run Code Online (Sandbox Code Playgroud)

我还创建了一个处理错误403的视图,名为error403:

def error403(request):
    '''
    Default view for error 403: Inadequate permissions.
    '''
    return render_to_response('utility/mustLogin.html', {'user': request.user})
Run Code Online (Sandbox Code Playgroud)

但是,此视图根本不呈现.当我故意发出错误403时,默认浏览器403页面仅显示而不是我的模板.

默认浏览器403

我忘记执行某些操作了吗?谢谢.

mgi*_*nbr 5

handler403是开发版中的新功能.如果您使用的是旧版本(<= 1.3),则此选项尚未实现.

如此处所述,在旧版本中有一些方法可以实现这一点.它涉及一个新的中间件,一个自定义异常和HttpResponseForbidden.不知道它与你项目的其他部分的整合程度如何......