python Django post方法报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Django post方法报错相关的知识,希望对你有一定的参考价值。
linux安装的django,用django自带的服务器,凡是遇到post传值时都报错。如下:403 Forbidden CSRF verification failed. Request aborted. Help Reason given for failure: No CSRF or session cookie.下面的提示信息太多就不放了。有知道原因的能否告知一声,分上次都捐出去了,没有分可以悬赏了。多谢各位。
关于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 "" 参考技术A django有自带的CSRF保护,你需要在你的form元素的后面加上% csrf_token %,然后在处理template的时候用 RequestContext代替Context。 参考技术B 你可以在settings里csrf禁掉就好了
以上是关于python Django post方法报错的主要内容,如果未能解决你的问题,请参考以下文章
Django :执行 python manage.py makemigrations 时报错 TypeError: __init__() missing 1 required positional a
ImportError: No module named ‘MySQLdb‘
{Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 dja