• Django报错 Forbidden (CSRF token missing or incorrect.): 解决方法


    方法一:自定义一个中间件

    from django.utils.deprecation import MiddlewareMixin
    from django.middleware.csrf import get_token
    
    
    class CsrfTokenMiddleware(MiddlewareMixin):
        def process_request(self, request):
            get_token(request)
    在配置文件settings.py 的中间件添加一行代码
    'utils.csrfTokenMiddleware.CsrfTokenMiddleware'

    方法二:在html文件下form表单中添加{% csrf_token %}

    <div class="container">
        <div class="row">
            <h2 class="text-center">注册</h2>
            <div class="col-md-8 col-md-offset-2">
                <form action="" method="post">
                     {% csrf_token %}
                    <p>username:<input type="text" class="form-control" name="username"></p>
    {#                <p>username:<input type="text" class="form-control" name="username"></p>#}
                    <p>password:<input type="password" class="form-control" name="password"></p>
                    <input type="submit" class="btn btn-danger">
                </form>
    
            </div>
        </div>
    </div>

    方法三:在view中使用method_decorator装饰器

    from django.utils.decorators import method_decorator
    from django.views.decorators.csrf import ensure_csrf_cookie
    
    
    class RegistView(View):
      @method_decorator(ensure_csrf_cookie)
      def get(self, request)
          pass
      def post(self, request)
          pass

     

  • 相关阅读:
    tomcat7简单优化
    java向上转型和向下转型
    字符串循环移位
    测试覆盖率问题
    悬挂指针
    标准库string的用法探讨
    野指针问题
    Clock函数用法
    配置信息写入到.ini文件中的方法
    数组指针和数组引用做参数的区别
  • 原文地址:https://www.cnblogs.com/2722127842qq-123/p/14040690.html
Copyright © 2020-2023  润新知