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 2.2和mysql使用的常见问题

Django :执行 python manage.py makemigrations 时报错 TypeError: __init__() missing 1 required positional a

ImportError: No module named ‘MySQLdb‘

django项目环境搭建

{Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 dja

Django 测试开发2