Django API创建新用户

时间:2019-02-28 22:24:02

标签: python django api

我正在尝试创建用户创建API,但是我不确定是否做得很好,因为我得到了以下信息: enter image description here

是,我做错了什么?因为我怀疑应该看起来像这样,所以这是我的代码:

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)

2 个答案:

答案 0 :(得分:1)

就像@Mohit Harshan一样,您需要添加:

@api_view(['POST','GET'])

显示您的观点。

使用Rest Framework资源管理器时,默认情况下会发出GET请求,因此如果该方法不可用,它将始终收到投诉。但是,在这种情况下,您的POST方法仍然可以使用。

通常对于用户生成的创建,GET方法将返回一个简单的表单,用户可以填写该表单,然后将其作为POST请求提交,以创建用户。

答案 1 :(得分:0)

好,问题解决了,我想知道POST视图是否应该在照片上看起来像,而且应该,我只需要使用字典在Content字段中写入所有模型字段