鉴于有很多复制转载却又未经验证的信息,记录下撞到的问题,以免后续重新花费力气辨析
环境:
Python=3.4, Django=1.10
环境:
Python=3.4, Django=1.10
俩种方式,另有一些方式不适用版本:
1、不使用CSRF验证
1、不使用CSRF验证
1#确认视图文件中的函数里,调用render_to_response ,没有使用 RequestContext
2#移除html里form中的{% csrf_token %} 标记
3#删除中间件。
在setting.py文件的MIDDLEWARE_CLASSES参数里,删除 'django.middleware.csrf.CsrfViewMiddleware'
在setting.py文件的MIDDLEWARE_CLASSES参数里,删除 'django.middleware.csrf.CsrfViewMiddleware'
2、使用CSRF验证
1#确认视图文件中的函数里,调用render_to_response 已使用 RequestContext,类似于:
render_to_response('A/B.html', context=RequestContext(request, {'C': C}))
2#确认html里form中包含{% csrf_token %} 标记
3#确认setting.py文件的MIDDLEWARE_CLASSES参数里,包含 'django.middleware.csrf.CsrfViewMiddleware'
4#为视图文件中的函数添加装饰器@csrf_exempt如下:
@csrf_exempt
def A(request):
pass