zoukankan      html  css  js  c++  java
  • Django提交POST表单“CSRF verification failed. Request aborted”问题的解决

    1、环境

    python 3.4

    Django 1.7

    Visual Studio 2015 PTVS

    2、问题

    提交表单,出现以下错误:

    CSRF verification failed. Request aborted.

    3、解决

    查看settings.py, 有 'django.middleware.csrf.CsrfViewMiddleware' 一句:

     1 MIDDLEWARE_CLASSES = (
     2     'django.contrib.sessions.middleware.SessionMiddleware',
     3     'django.middleware.common.CommonMiddleware',
     4     'django.middleware.csrf.CsrfViewMiddleware',
     5     'django.contrib.auth.middleware.AuthenticationMiddleware',
     6     'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
     7     'django.contrib.messages.middleware.MessageMiddleware',
     8     'django.middleware.clickjacking.XFrameOptionsMiddleware',
     9     'cstnet.middleware.urlsfilter',
    10     'jobfarm.middleware.MultipleProxyMiddleware',
    11     'jobfarm.middleware.OAuthJobFarmFilter'
    12 )

    在表单处理函数前添加 @csrf_protect :

     1 #申请表单处理
     2 @csrf_protect
     3 def doapply(request):
     4     context = {
     5         'group':request.POST['group'],
     6         'host':request.POST['host'],
     7         'image':request.POST['image'],
     8         'net':request.POST['net'],
     9         'vcpu':request.POST['vcpu'],
    10         'num':request.POST['num'],
    11         'remarks':request.POST['remarks']    
    12     };
    13 ...

    并在文件头导入命名空间,不然会找不到csrf_protect:

    1 from django.views.decorators.csrf import csrf_protect

    运行正常。

  • 相关阅读:
    1、购买阿里云服务器
    struts2页面乱码解决方法
    struts第一次编写怎么都无法跳转页面
    时间转换与map集合
    struts2addActionError 、addFieldError、addActionMessage方法
    struts2基本流程
    struts2自定义类型转换器
    jsp聊天窗口随笔
    conn!=null与conn.isClosed的区别
    应用表单隐藏域进行提交
  • 原文地址:https://www.cnblogs.com/legendjslc/p/5415594.html
Copyright © 2011-2022 走看看