前端简单的登陆页面,POST用户名和密码,发送请求时出现错误403,如下:
前端发送POST请求提交表单时,遇到错误403的情况以及解决办法
通常,当存在真正的跨站点请求伪造时,或者Django的CSRF机制没有正确使用时,就会发生这种情况。如欲索取邮寄表格,请确保:

  • 你的浏览器已经开启cookie;
  • view函数将request请求传递给模板的render方法;
  • 在模板中,每个针对内部URL的POST表单中都有一个{% csrf_token %}模板标记;
  • 如果不使用csrfview中间件,则必须对使用csrf_token模板标记的视图以及接受POST数据的视图使用csrf_protect;
  • 表单有一个有效的CSRF令牌。在登录到另一个浏览器选项卡或在登录后单击back按钮后,您可能需要用表单重新加载页面,因为标记在登录后会循环。

页面中的信息的大概内容,有两种方法可以解决该问题:

  • 方法一:不使用CSRF中间件:
    在django工程的配置文件中,将MIDDLEWARE中的**‘django.middleware.csrf.CsrfViewMiddleware’**行注释掉;
    前端发送POST请求提交表单时,遇到错误403的情况以及解决办法

  • 方法二:在前端html文件的Form表单标签下,添加{% csrf_token %} :

  • 前端发送POST请求提交表单时,遇到错误403的情况以及解决办法

相关文章: