您好,登錄后才能下訂單哦!
本文研究的主要是django在接受post請求時顯示403forbidden時的處理方法,具體代碼如下。
最近在做一個項目需要用到Django框架
在測試Django的時候發現一個問題,就是按照一般教程設置好URL的mapping之后,使用get請求總能得到正確的回應,但是在使用post請求時,卻根本無法得到請求,會顯示403forbidden:
Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. Forbidden (CSRF cookie not set.): / [23/Mar/2017 20:58:36] "POST / HTTP/1.1" 403 2857
根據提示(CSRF cookie not set)上網搜索了一下,發現只要在接收post請求的函數前加上csrf_exempt裝飾器就可以了:
# coding=utf-8 from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt import json # Create your views here. @csrf_exempt def index(request): if request.method == 'POST': body = json.loads(request.body) print body['value'] return HttpResponse(request.body)
控制臺輸出為(傳入的body為{'value': 'test'}):
Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK. test [23/Mar/2017 21:03:37] "POST / HTTP/1.1" 200 17
總結
以上就是本文關于django在接受post請求時顯示403forbidden實例解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。