当我阅读 Django 文档时,我只发现了以下处理程序:400、403、404、500 错误。
为什么 405 错误处理程序不存在,但像 require_POST() 这样的装饰器很常见?
关键是,为 Method Not Allowed 错误创建自定义错误页面的正确方法是什么?
我使用 Django Middleware 解决了我的问题,也许这会对某人有所帮助
from django.http import HttpResponseNotAllowed
from django.shortcuts import render
class HttpResponseNotAllowedMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
response = self.get_response(request)
if isinstance(response, HttpResponseNotAllowed):
return render(request, '405.html', status=405)
return response
Run Code Online (Sandbox Code Playgroud) django ×1