[英]Django rest framework post request not retrieving anything
我正在嘗試創建用戶創建 api 並發布創建 api,“獲取”請求工作正常,但發布請求始終為空。 如果有任何我遺漏或需要添加到視圖中的內容,因為 get 請求適用於 post 應用程序。 可能發生的錯誤是什么。
序列化器.py
from rest_framework import serializers
from .models import User
class RegisterSerializer(serializers.ModelSerializer):
password2 = serializers.CharField(
style={'input_type': 'password'}, write_only=True)
class Meta:
model = User
fields = ['username', 'email',
'date_of_birth', 'password', 'password2']
extra_kwargs = {'password': {'write_only': True}}
def save(self):
print("saved")
user = User(email=self.validated_data['email'],
username=self.validated_data['username'],
date_of_birth=self.validated_data['date_of_birth']
)
password = self.validated_data['password']
password2 = self.validated_data['password2']
if password != password2:
raise serializers.ValidationError(
{'password': 'Passwords must match.'})
user.set_password(password)
user.save()
return user
下面是views.py
from rest_framework import status
from rest_framework.response import Response
from rest_framework.decorators import api_view
from .models import User
from .serializers import RegisterSerializer
from rest_framework.authtoken.models import Token
from rest_framework.parsers import JSONParser
@api_view(['POST', ])
def registration_view(request):
if request.method == 'POST':
serializer = RegisterSerializer(data=request.data)
data = {}
if serializer.is_valid():
print("Hello")
user = serializer.save()
data['response'] = 'Successfuly registered a new User'
data['date_of_birth'] = user.date_of_birth
data['username'] = user.username
data['email'] = user.email
token = Token.objects.get(user=user)
data['token'] = token
return Response(data)
else:
return Response(serializer.errors)
無論發布請求如何,我總是收到一條錯誤消息,指出此字段是必需的,
誰能幫幫我,謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.