我在django中有以下视图,它登录用户并在使用序列化程序序列化用户数据之后发回响应。你知道吗
@api_view(['POST'])
def sign_in(request):
username = request.data['username']
password = request.data['password']
user = authenticate(username=username, password=password)
if user is not None:
update_last_login(None, user) # update the user's last login date
serializer = UserSignInSerializer(user)
return Response(serializer.data)
return Response('Invalid login credentials', status=401)
我不喜欢这个视图的方式是直接从主体中提取用户名和密码。我想使用相同的序列化程序来检查主体是否有效。这是可能的还是我必须创建一个新的序列化程序来验证请求?以下是现有的序列化程序:
class UserSignInSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['first_name', 'last_name', 'email', 'username', 'profile']
您可以使用django rest框架中的^{} 。下面是一个很好的代码,可以从^{} 使用。下面我给大家举个例子:
并在视图中使用此序列化程序:
相关问题 更多 >
编程相关推荐