如果你没有正确地设置CSRF,在提交表单的时候就会出现403错误,这个我已经在我的另外一篇文章有描述,并提出了解决办法:
django错误 – Reason given for failure: CSRF cookie not set.
其实上面这篇文章中提到的是针对某个方法,如果是想整个网站禁止CSRF那么可以采用如下的方法
在settings.py 添加下面一行到MIDDLEWARE_CLASSES:
MIDDLEWARE_CLASSES = (
myapp.disable.DisableCSRF,
)
然后在settings.py同级目录创建disable.py文件,添加如下内容:
class DisableCSRF(object):
def process_request(self, request):
setattr(request, '_dont_enforce_csrf_checks', True)
当然还是那句话,django设置CSRF的初衷是为了网站的安全,所以不要轻易的去禁止它。
版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.