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加装饰器。

     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    主页面
    EasyUI写的登录界面
    SpringMVC学习笔记二第一个小的程序
    springmvc学习笔记一框架的理解
    mybitis学习笔记
    cheng gong de daima
    JQuery中如何使用事件来出发Ajax
    按照用户名和角色查询用户liferay
    在liferay中如何使用Ajax的请求
    [奇葩说]
  • 原文地址:https://www.cnblogs.com/ArmoredTitan/p/8782745.html
Copyright © 2011-2022 走看看