zoukankan      html  css  js  c++  java
  • django之中间件

    1.什么是中间件:
    官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能
    2.自定义中间件
      在app中建一个文件mymiddleware

    from
    django.utils.deprecation import MiddlewareMixin from django.shortcuts import render, HttpResponse class MyMiddleware(MiddlewareMixin): def process_request(self, request): print('mymiddle_1-------------process_request') def process_response(self, request, response): print('mymiddle_1-------------process_response') return response
    3.process_request
    process_request有一个参数,就是request,这个request和视图函数中的request是一样的。
    
    它的返回值可以是None也可以是HttpResponse对象。返回值是None的话,按正常流程继续走,交给下一个中间件处理,如果是HttpResponse对象,Django将不执行视图函数,而将相应对象返回给浏览器。
    4.process_response
    它有两个参数,一个是request,一个是response,request就是上述例子中一样的对象,response是视图函数返回的HttpResponse对象。该方法的返回值也必须是HttpResponse对象。
  • 相关阅读:
    UVa 839 -- Not so Mobile(树的递归输入)
    UVa 548 -- Tree
    UVA 122 -- Trees on the level (二叉树 BFS)
    UVa679 小球下落(树)
    POJ 2255 -- Tree Recovery
    POJ 1451 -- T9
    POJ 2513 -- Colored Sticks
    STL -- heap结构及算法
    nginx利用try_files实现多个源
    nginx location的优先级
  • 原文地址:https://www.cnblogs.com/zhaijihai/p/10008023.html
Copyright © 2011-2022 走看看