zoukankan      html  css  js  c++  java
  • django 自定义的中间件

    django   中间件    可以修改django内容的输入或者输出在每次运行的时候调用

    1,在应用下创建一个python包(在其他的应用中也可以)

    在这里面写自己需要的自定义中间件

    2,需要继承的方法是   MiddlewareMinxi

    需要导入from  django.utils.deprecation  import  MiddlewareMixin

    3,在配置文件中配置这个中间件

    MIDDLEWARE = [  (应用名)。(自建的中间件)。(中间件的文件名)。(中间件所在的类)  ]      

    4,在自定义中的文件中导入需要继承的方法   MiddlewareMixin

    from django.utils.deprecation  import  MiddlewareMixin

    5,写请求前的内容

    需要获取值的时候用

    request.META.get('HTTP_TOKEN')   # 这样来获取所有值

     6,有以下几种请求方式

    class Mixin(MiddlewareMixin):
        # django提供了五个中间件的方法。
    def process_request(self, request):
      '''
          处理请求前:在每个请求上,request对象产生之后,url匹配之前调用,返回None或HttpResponse
      '''
      pass
    
    def process_view(self, request, view_func, *view_args, **view_kwargs):
      '''
        处理视图前:在每个请求上,url匹配之后,视图函数调用之前调用,返回None或HttpResponse对象。
      '''
        pass
    
    def process_response(self, request, response):
      '''
       处理响应后:视图函数调用之后,所有响应返回浏览器之前被调用,在每个请求上调用,返回HttpResponse对象。
      '''
        return response
    
    def process_exception(self, request,exception):
      '''
        异常处理:当视图抛出异常时调用,在每个请求上调用。
      '''
      pass
    
    def process_template_response(self, request, response):
        '''
          函数是在视图函数执行完后立即执行的,返回一个HttpResponse对象。
        '''
      return response
  • 相关阅读:
    java命名规范:注重细节
    撒旦法撒旦法三阿斯顿发暗室逢灯
    369绿色浏览器开发记录
    时间过得好快
    C++进程间通信(常用理解例子)-买票
    MFC常用 控制对话框透明属性函数
    DedeCms 建站随笔(一)
    个人作业收官——软件工程实践总结
    第三次作业——个人作业——软件产品案例分析
    UML用例图
  • 原文地址:https://www.cnblogs.com/lishanglin/p/12445210.html
Copyright © 2011-2022 走看看