我正在尝试创建用户创建API,但是我不确定是否做得很好,因为我得到了以下信息:
是,我做错了什么?因为我怀疑应该看起来像这样,所以这是我的代码:
serializer.py
from rest_framework import serializers
from django.contrib.auth.models import User
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'password', 'email')
views.py
from rest_framework import status
from rest_framework.decorators import api_view, permission_classes
from rest_framework.response import Response
from rest_framework.permissions import AllowAny
from .serializer import *
@api_view(['POST'])
@permission_classes((AllowAny,))
def user_creation(request):
serializer = UserSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
答案 0 :(得分:1)
就像@Mohit Harshan一样,您需要添加:
@api_view(['POST','GET'])
显示您的观点。
使用Rest Framework资源管理器时,默认情况下会发出GET请求,因此如果该方法不可用,它将始终收到投诉。但是,在这种情况下,您的POST方法仍然可以使用。
通常对于用户生成的创建,GET方法将返回一个简单的表单,用户可以填写该表单,然后将其作为POST请求提交,以创建用户。
答案 1 :(得分:0)
好,问题解决了,我想知道POST视图是否应该在照片上看起来像,而且应该,我只需要使用字典在Content字段中写入所有模型字段