最近在寫后端處理代碼的時候,有時候會出現post請求獲取不到資料的情況,仔細觀察一下,可能和views的函式書寫風格不同有關,這里記錄一下兩種不同風格的后端獲取資料的代碼,
兩種不同風格的解釋可以參考這篇文章------>傳送門
FBV
基于函式的視圖
我們需要將request.body從json物件轉換為字典,
@csrf_exempt
def getMeaning(request):
if request.method == "POST":
json_str = request.body
json_dict = json.loads(json_str)
key = json_dict.get("key", None)
CBV
基于類的視圖
我們直接從request.data獲取資料即可,
class AchievementViewSet(ModelViewSet):
# 添加競賽
@action(methods=['post'], detail=False)
@csrf_exempt
def add_competition(self, request, *args, **kwargs):
name = request.data.get('name', None)
上面僅僅是基于本人的經驗,如果有錯誤之處,麻煩大家交流指正,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/264167.html
標籤:python
