定义:每一个请求都是先通过中间件中的process_request 函数,这个函数返回 None 或者 HttpResponse 对象,如果返回前者,继续处理其它中间件,如果返回一个 HttpResponse,就处理中止,返回到网页上。
第一步:在与项目同名的文件夹下,创建一个包尽量命名为(migrations)
第二步:在migrations下创建py.文件、
from django.shortcuts import *
from django.http import *
from test2.settings import ips
class MyException(object):
def process_exception(request, response, exception):
#记录错误日志
#自定义错误视图
return HttpResponse(exception)
#过滤id 需要你在setting.py文件里把你需要过滤的ip组成一个列表 -
class MyFilterIp(object):
def process_request(self,request):
#获取用户的ip
ip=request.META['REMOTE_ADDR']
if ip in ips:
return HttpResponse('forbidden')
第三:把创建的中间件放入到settings.py里系统自带的中间件文件里
路径:文件夹.包名.文件名.类名