了解如何通過正確處理模板並正確渲染Django表單中的“ CSRF令牌缺失”錯誤。 --- This video is based on the question https://stackoverflow.com/q/77276170/ asked by the user 'jessiepinkman' ( https://stackoverflow.com/u/21214268/ ) and on the answer https://stackoverflow.com/a/77276237/ provided by the user 'Tim' ( https://stackoverflow.com/u/2043298/)在“堆棧溢出”網站上。感謝這些出色的用戶和Stackexchange社區的貢獻。請訪問這些鏈接以獲取原始內容和更多詳細信息,例如替代解決方案,有關主題,評論,修訂歷史記錄等的最新更新/開發。 by-sa 4.0'(https://creativecommons.org/licenses/by-sa/4.0/)許可證和原始答案帖子在“ cc by-sa 4.0'(https://creativecommons.org/licenses/licenses/licenses/by-sa/4.0/)下獲得許可。如果您似乎有什麼事,請隨時用vlogize [at] gmail [dot] com寫信給我。 ---求解Django表單中的“ CSRF令牌丟失”問題,如果您正在開發涉及表單提交的Django應用程序,則可能會遇到一個令人沮喪的問題:CSRF令牌缺少錯誤。此錯誤可能會妨礙功能並阻止有效提交,尤其是在與Twilio之類的API集成以進行電話號碼驗證時。在本指南中,我們將探討如何通過在Django模板中正確使用CSRF代幣來有效解決此問題。了解CSRF令牌CSRF(跨站點請求偽造)令牌是Django中實現的安全功能,以防止未經授權的命令從Web應用程序信任的用戶傳輸。要成功地驗證Django中的表單提交形式,該表單必須包括唯一的CSRF令牌。在我們方案中的常見問題,您已經在HTML模板中包含了{%csrf_token%}標籤,但仍在收到CSRF令牌缺失錯誤。當HTML無法通過Django的模板系統正確渲染時,通常會發生這種情況。解決問題1的步驟。將HTML內容移動到模板文件,而不是直接嵌入HTML在視圖功能中,而是應該創建一個專用的HTML模板文件以進行渲染。這是您可以組織項目的方式:創建一個名為verify.html的新模板文件,在模板目錄中。如下所示:[[請參閱視頻顯示此文本或代碼代碼段]] 2。您應該如何調整代碼:[[請參閱視頻以顯示此文本或代碼代碼段]]3。確保中間件活動確保django.middleware.csrf.csrf.csrfviewwiewmiddleware在您的django settings.py中啟用。此中間件負責處理CSRF代幣:[[請參閱視頻以顯示此文本或代碼代碼段]]4。一旦設置模板並更新視圖,請測試您的表單提交,現在該再次測試表單提交了。您不再應該看到CSRF令牌缺失錯誤,並且您的表單應成功將數據發送到服務器。結論,通過將HTML正確構建到模板中,並確保正確渲染CSRF令牌,您可以在Django應用程序中解決Pervasive CSRF代幣缺少錯誤。這不僅可以增強安全性,而且通過允許與表格的無縫互動來改善用戶體驗。隨時分享您關於在Django管理CSRF代幣的想法或疑問。愉快的編碼!