问题原因
一般而言,这可以发生时,有一个真正的跨站请求伪造,或当Django的CSRF的机制还没有正确使用。 对于POST表单,您需要确保:
*该视图功能使用模板RequestContext的。
*在模板中,有{%csrf_token%}(模板网址标记在每个邮局形式的内部目标。
*如果您不使用CsrfViewMiddleware,那么你必须在view中使用csrf_protect,
您看到此页面的帮助部分,因为你在settings中设置了 DEBUG = True。 改变这种状况为False,只有最初的错误信息会被显示。您可以使用CSRF_FAILURE_VIEW设置自定义此页面。
解决方法:
1,在html文件,form表单添加上{%csrf_token%}
<form action="login" method="post">
</br>
</br>
<h1>  登录界面</h1>
</br>
<p class="p">  账号:</p>
  
<input class='input' type="text" name="user">
<p class="p">  密码:</p>
  
<input class='input' type="text" name="pwd">
</br></br>
    
<button class="bt" type="submit">登录</button>
</form>
2,注释主项目的settings.py文件 代码段#
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
'django.middleware.csrf.CsrfViewMiddleware',