python Django post方法报错
linux安装的django,用django自带的服务器,凡是遇到post传值时都报错。如下:403ForbiddenCSRFverificationfailed.Req...
linux安装的django,用django自带的服务器,凡是遇到post传值时都报错。如下:403 Forbidden CSRF verification failed. Request aborted. Help Reason given for failure: No CSRF or session cookie.下面的提示信息太多就不放了。有知道原因的能否告知一声,分上次都捐出去了,没有分可以悬赏了。多谢各位。
展开
3个回答
推荐于2016-03-05
展开全部
关于django的POST常见方法:
1.用post方法去取form表单的值
在取值前,先得判断是否存在这个key
if not request.POST.has_key(strName):
return ""
if request.POST[strName]:
return request.POST[strName]
else:
return ""
2.用post方法获取[]类型的数据
常见的,例如,每行数据前面都带个checkbox的操作。这时候可能会选多个checkbox,传入到后台时,如果用request.POST[strname]获取,那么只能获取到一个值。用下面的方法,可以获取到多值。
if not request.POST.has_key(strName):
return ""
if request.POST[strName]:
return ','.join(request.POST.getlist(strName))
else:
return ""
1.用post方法去取form表单的值
在取值前,先得判断是否存在这个key
if not request.POST.has_key(strName):
return ""
if request.POST[strName]:
return request.POST[strName]
else:
return ""
2.用post方法获取[]类型的数据
常见的,例如,每行数据前面都带个checkbox的操作。这时候可能会选多个checkbox,传入到后台时,如果用request.POST[strname]获取,那么只能获取到一个值。用下面的方法,可以获取到多值。
if not request.POST.has_key(strName):
return ""
if request.POST[strName]:
return ','.join(request.POST.getlist(strName))
else:
return ""
展开全部
django有自带的CSRF保护,你需要在你的form元素的后面加上{% csrf_token %},然后在处理template的时候用 RequestContext代替Context。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在settings里csrf禁掉就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询