Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用django的一系列表单帖子导致403错误_Django_Django Forms_Django Views_Django Csrf - Fatal编程技术网

使用django的一系列表单帖子导致403错误

使用django的一系列表单帖子导致403错误,django,django-forms,django-views,django-csrf,Django,Django Forms,Django Views,Django Csrf,如果用户单击登录页上的提交表单,则会将他们带到另一页(第二页),但如果用户尝试通过另一个表单post登录第二页,则用户会收到403禁止的错误 登录页表单工作。 登录表单工作正常。 但提交登录页表单后,登录表单导致403 CSRF验证失败 第一页上的表单返回: render(request, 'page.html', context_var) css的表单void如下所示: <form action="{% url 'url_test' %}" method="POST"> <

如果用户单击登录页上的提交表单,则会将他们带到另一页(第二页),但如果用户尝试通过另一个表单post登录第二页,则用户会收到403禁止的错误

登录页表单工作。 登录表单工作正常。 但提交登录页表单后,登录表单导致403 CSRF验证失败

第一页上的表单返回:

render(request, 'page.html', context_var)
css的表单void如下所示:

<form action="{% url 'url_test' %}" method="POST">
<input type="hidden" name="some_name" value="for_view_use">
{% csrf_token %}
<button type="submit" name="other_name" value="value">button</button>
</form>
css的登录表单void为:

<form action="{% url 'login' %}" method="post">
{% csrf_token %}
<input type="text" name="username">
<input type="password" name="password">
<button type="submit">Sign In</button>
</form>

{%csrf_令牌%}
登录
我确信这两个视图都会返回这些值,因为我已经分别对它们进行了测试

我尝试过使用
@csrf\u protect
,但没有成功。我已经检查过了,加载时令牌出现在第二页上。我知道这和csrf代币有关,但我想不出来

在我看来,第一个表单似乎没有为下一页返回可接受的csrf令牌

编辑:
我没有解决问题本身,但我注意到第一个请求只是从服务器中提取数据,所以我将其更改为GET请求,错误就停止了。在我看来,这不是一个答案,因此我将保留此线程,以防其他人在django的连续表单POST请求中遇到问题。

您能给出这两个视图的完整代码吗?另外,你能给出错误行为的明确例子吗?是登录表单还是您的表单给出了错误,您的问题不太清楚?@raphv不幸的是,我在一家公司工作,我不能给出太多代码,也没有任何人可以向我提供帮助。我做了一次编辑,试图澄清我对这个错误的解释。我有权限发表这篇文章。你是使用自定义登录表单还是Django的基本登录表单?您能否至少给出生成表单的模板中存在错误的部分?它应该看起来像是用附加代码更新的
@raphv。这是一个自定义表单。你能给出两个视图的完整代码吗?另外,你能给出错误行为的明确例子吗?是登录表单还是您的表单给出了错误,您的问题不太清楚?@raphv不幸的是,我在一家公司工作,我不能给出太多代码,也没有任何人可以向我提供帮助。我做了一次编辑,试图澄清我对这个错误的解释。我有权限发表这篇文章。你是使用自定义登录表单还是Django的基本登录表单?您能否至少给出生成表单的模板中存在错误的部分?它应该看起来像是用附加代码更新的
@raphv。这是一张定制表格。
<form action="{% url 'login' %}" method="post">
{% csrf_token %}
<input type="text" name="username">
<input type="password" name="password">
<button type="submit">Sign In</button>
</form>