zoukankan      html  css  js  c++  java
  • django中间件的5个方法以及csrf的装饰器用法

    django中间件的5个方法。
    -process_request
    -process_view
    -process_response
    -process_exception
    -process_render_template
     
    1 请求先执行所有中间件的process_request,然后做路由匹配,找到函数不执行。
    2 再执行所有的process_view,在执行视图函数。
    3 再执行process_response
    4 如果程序报错执行process_exception
    5 如果程序有render方法则执行process_render_template
     
     
    django的csrf是如何实现的
     
    在django视图FBV情况下:
    from django.views.decorators.csrf import csrf_exempt,csrf_protect
    
    使用这个装饰器,这个函数就不用遵守这个csrf规则。
    process_view中先判断函数是否有这个装饰器,然后获取用户提交的token,检验是否通过规则。
    process_view方法
        -去检查视图是否被@csrf_exempt(免除csrf认证)
        -去请求体或cookie中获取token
     
    如果将中间件中csrf注释掉,全局不用csrf认证的情况下某个视图需要csrf认证,可以通过csrf_protect装饰器增加csrf规则。
     
    CBV情况下:
    from django.utils.decorators import method_decorator
    

    第一种:

    第二种:

    本质两种方法都是给dispatch加装饰器。

     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    删除:恶意主页
    Winuser.h
    安天磁盘免疫工具研究的初步解答
    C#读写XML文件
    阻止系统关机
    在WebBrowser中屏蔽对话框
    如何用正确的方法写出高质量软件的75条体会
    怪事~
    GRUB4DOS中文自述文档;Grub4dos中文ReadMe
    开始菜单变成的经典样式,XPsuaa样式丢失
  • 原文地址:https://www.cnblogs.com/ArmoredTitan/p/8782745.html
Copyright © 2011-2022 走看看