zoukankan      html  css  js  c++  java
  • django 笔记14 中间件

    用户请求->中间件->urls->views->返回字符串->中间件->用户浏览器
    settings
    MIDDLEWARE里面都是中间件
    有的地方叫管道
    请求来的时候都需要经过中间件
    中间件 对所有的请求做统一操作
    黑名单操作 ip段
    
    基本要懂的:process_view process_request pocess_response
    
    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'Middle.m1.Row1',
        'Middle.m1.Row2',  #路径 在django同级项目下的Middle目录下的m1.py中的Row1类
    
    m1.py里写
    from django.utils.deprecation import MiddlewareMixin
    class Row1(MiddlewareMixin):
        def process_request(self,request):
            print('小白')
    
        def process_view(self, request, view_func, view_func_args,view_func_kwargs):
            pass   //views文件的映射关系
    
        def process_exception(self, request,exception):
            print(exception)  #views异常报错处理  ex
            if isinstance(exception, ValueError):
                return HttpResponse("出现异常了")
    
        def process_template_response(self, request,response):
            #如果View中的函数返回的对象中,具有render方法  基本不用
            print("!!!!!!!!!!!")
            return response
    
        def process_response(self,request,response):
            print('收到了2')
            return response
    class Row2(MiddlewareMixin):
        def process_request(self, request):
            print('小黑')
        def process_response(self,request,response):
            print('收到了1')
            return response
  • 相关阅读:
    PTA(Basic Level)1012.数字分类
    PTA(Basic Level)1011.A+B和C
    PTA(Basic Level)1008.数组元素循环右移问题
    PTA(Basic Level)1009.说反话
    PTA(Basic Level)1010.一元多项式求导
    Leetcode 38.报数 By Python
    Leetcode 35.搜索插入位置 By Python
    查看Linux的所有线程
    Linux内核模块编程——Hello World模块
    JSP内置对象总结
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9220559.html
Copyright © 2011-2022 走看看