Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板
1.中间件(重要):
在Django的setting中有个MIDDLEWARE列表,里面的东西可以理解为过滤管道,里面有个安全过滤管道: from django.middleware.csrf import CsrfViewMiddleware里面有四个常用的方法:
- process_request:客户端请求的通道,但当此方法里面有return时就不会再执行后面的方法,直接走process_response方法(表示请求数据被拦截)。注:其中使用return 会拦截掉客户端的所有请求。
- process_views:经过process_request之后再从新从每个管道的此方法执行后面的方法(后面的方法指的是主体URL请求时所走的views方法)。
- process_exception:抛出异常,在process_response方法执行之前,且只抛出URL链接请求的views方法中的异常,不会抛出process_request,process_views中的异常,而且所有的异常抛出后才会从第一个process_response方法返回给客户端请求的内容。
- process_response:请求获取到数据返回的路径。注:必有返回值 且 return 要返回固定参数。
2.CSRF(跨站请求伪造):
默认情况下不使用任何方法或装饰器,在Django项目配置文件setting.py文件的MIDDLEWARE的csrf管道会拦截post请求。
在使用form表单发送post请求时要在表单的里面加入{% csrf_token %}
-
在使用Ajax发送post请求时要在Ajax里面的请求投headers加入{'X-CSRFToken'