我正在制作 Web 應用程式的一部分(未登錄的用戶,所有訪問者)可以填寫表單,我必須將該資料(姓名、電話號碼、問題)保存在資料庫中..我正在使用 Django 制作 REST,但對于前端我將使用 React 或 Django,我正在 Django 框架中創建 POST 方法,該方法從 POST https 請求中讀取 JSON 資料,然后將該資料保存到資料庫中。但我收到錯誤 CSRF 驗證失敗。請求中止。因為我不使用 CSRF 令牌,因為它不需要(我沒有登錄用戶)。但我不想禁用 CSRF,因為對于管理頁面我會用它來驗證用戶?那么有人知道如何避免在此方法中使用 CSRF 令牌嗎?提前致謝..
def saveDataToDatabase(request):
if request.method == 'POST':
json_data = json.loads(request.body)
try:
data = json_data['data']
except KeyError:
HttpResponseServerError("Malformed data!")
這是方法的一部分..
uj5u.com熱心網友回復:
可以在帶有@csrf_exempt裝飾器的視圖上禁用 csrf 保護。
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def saveDataToDatabase(request):
# Your code here
有關Django 檔案的更多資訊
uj5u.com熱心網友回復:
你有沒有想過使用視圖來處理請求?您可以使用它,這樣您就不必執行我給您的第二個建議。
如果第一個建議不夠好,您可以禁用 Django 設定檔案中的 csrf 令牌。您需要洗掉(或評論)可用中間件串列中的django.middleware.csrf.CsrfViewMiddleware。
任何其他問題只是問;)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/371874.html
標籤:姜戈 邮政 Django 休息框架 csrf-token
