我有一阵子的问题,我没有设置CSRF Cookie。请看下面的代码
python
def deposit(request,account_num): if request.method == 'POST': account = get_object_or_404(account_info,acct_number=account_num) form_=AccountForm(request.POST or None, instance=account) form = BalanceForm(request.POST) info = str(account_info.objects.filter(acct_number=account_num)) inf=info.split() if form.is_valid(): #cd=form.cleaned_data now = datetime.datetime.now() cmodel = form.save() cmodel.acct_number=account_num #RepresentsInt(cmodel.acct_number) cmodel.bal_change="%0.2f" % float(cmodel.bal_change) cmodel.total_balance="%0.2f" %(float(inf[1]) + float(cmodel.bal_change)) account.balance="%0.2f" % float(cmodel.total_balance) cmodel.total_balance="%0.2f" % float(cmodel.total_balance) #cmodel.bal_change=cmodel.bal_change cmodel.issued=now.strftime("%m/%d/%y %I:%M:%S %p") account.recent_change=cmodel.issued cmodel.save() account.save() return HttpResponseRedirect("/history/" + account_num + "/") else: return render_to_response('history.html', {'account_form': form}, context_instance=RequestContext(request))
在HTML中,这是代码
HTML
<form action="/deposit/{{ account_num }}/" method="post"> <table> <tr> {{ account_form.bal_change }} <input type="submit" value="Deposit" /> </tr> {% csrf_token %} </table> </form>
我卡住了,我已经清除了cookie,使用了其他浏览器,但仍然没有设置csrf cookie。
如果CSRF_COOKIE_SECURE = True设置了并且你非安全地访问该站点,或者CSRF_COOKIE_HTTPONLY = True按照此处和此处所述进行了设置,也会发生这种情况
CSRF_COOKIE_SECURE = True
CSRF_COOKIE_HTTPONLY = True