簡體   English   中英

Django 模板:Csrf 令牌對同一表單的多個 post 請求無效

[英]Django Template: Csrf token invalid for multiple post request in the same form

我正在從事 Django 項目並陷入涉及 csrf 令牌的問題。

我有一個表格,我用 javascript function 處理提交,因為在同一個表格中我需要執行 2 次 POST。 形式是這樣的:

<form> 
{% csrf_token %}
   <input name="field_1" type="text">
   ....
   ....
   <input name="file" type="file">
   <button onclick="send_form()"> Send data </button>
</form>

send_form()方法使用 axios 執行兩個 post 請求。 第一個發送文本字段,第二個發送文件。 我需要這樣做,因為服務器有兩個不同的 api 用於管理文本數據和文件。

問題是第一個帖子成功,然后第二個帖子失敗,給出 403 錯誤,在 header 我可以看到錯誤

“CSRF 失敗:CSRF 令牌丟失或不正確。”

有沒有辦法以單一形式做到這一點? 我讀到有人將 csrf 應用於頁面的整個正文,但我不知道該怎么做。

謝謝你的任何答案。

您收到該錯誤的原因是您沒有指定您提出的請求類型。 這需要在<form>標簽中完成

例如: <form action="call_view_function" method="post">

如果你調用views.py function,你應該在<form>標簽而不是onclick=中這樣做

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM