最近开始学习Django,在创建一个简单的form表单登录时,遇到了一个问题,弄了半天终于解决了。下面把我遇到的问题和解决办法分享下:
(1)SRF verification failed. Request aborted.这个意思是说SRF验证失败,请求终止。
于是我开始在百度上搜索,大部分的搜索结果是说,有两种解决方法:
一种是说可以直接在settings.py中的MIDDLEWARE_CLASSES里添加 'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.csrf.CsrfResponseMiddleware',我找到那个配置文件发现第一个已经有,只需加第二个,可是加上第二个就报错,说Csrf没有这个属性了。好吧,那用第二种方法。
第二种是在Form表单里添加{% csrf_token %}标签,我加上去了,结果发现还是不行。没办法,继续找。
终于,在一个国外网站找到了答案,先在login.py里加上from django.template import RequestContext,然后把所有的类似return render_to_response('login.html',改成return render_to_response('login.html',context_instance=RequestContext(request)) 。即:把render_to_response('xxx.html')变成 render_to_response('xxx.html',context_instance=RequestContext(request))。运行,成功!