我在Django新DRF和我試圖通過創建POST請求的新用戶通過創建POST請求的用戶。我發送用戶名和密碼參數,但django不會識別POST請求中的參數。
我的串行:
class UserSerializer(serializers.ModelSerializer):
password = serializers.CharField(write_only=True)
def create(self, validated_data):
user=get_user_model().objects.create(
username = validated_data['username']
)
user.set_password(validated_data['password'])
user.save()
return user
class Meta:
model = get_user_model()
fields = ('username', 'password')
我的觀點類:
class CreateUserView(CreateAPIView):
model = get_user_model()
permission_classes = (AllowAny,)
serializer_class = UserSerializer
我曾嘗試使用serializers.ModelSerializer和serializer.Serializers,但沒有成功。
您要添加的參數查詢字符串,所以他們應該從'request.GET'訪問。相反,請將它們作爲json包含在request body中,這樣它們就包含在'validated_data'中。 – fips
你的屏幕截圖似乎是可疑的,因爲它看起來不是發佈數據,而是將它們作爲URL參數傳遞。打開瀏覽器的開發工具並查看請求發佈的數據,以確保數據確實發佈在HTTP正文中,而不是發佈到網址中。 – Linovia