django---中间件

定义:每一个请求都是先通过中间件中的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里系统自带的中间件文件里

    路径:文件夹.包名.文件名.类名

django---中间件_第1张图片

你可能感兴趣的:(django---中间件)