Django REST框架登录

2024-04-30 05:11:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我真的不明白为什么我不能作为使用Django REST框架创建的用户登录。我使用的是用户模型from django.contrib.auth.models import User。在

我正在本地启动服务器,并且可以使用我创建的超级用户登录并访问我想要的数据,但是我已经创建了API,这样我就可以通过可浏览的API创建用户,并且我希望使用其中一个用户登录。但是我不能。在

有什么建议吗?对于下面的图片,我将无法使用'test'用户名和'test123'密码登录。在

这是尝试登录时的错误。请输入正确的用户名和密码。请注意,这两个字段都可能区分大小写。在

enter image description here

序列化程序

class UserSerializer(serializers.HyperlinkedModelSerializer):
    ideas = serializers.HyperlinkedRelatedField(many=True, view_name='idea-detail', read_only=True, allow_null=True)
    ideacomments = serializers.HyperlinkedRelatedField(many=True, view_name='ideacomment-detail', read_only=True,
                                                       allow_null=True)

    class Meta:
        model = User
        fields = ('url', 'id', 'username', 'password', 'email',
                  'first_name', 'last_name',
                  'date_joined', 'ideas', 'ideacomments')

^{pr2}$


Tags: 用户nameviewapitrue密码read用户名
2条回答

你发布的图片显示了你的用户列表,对吧? 我想知道为什么密码显示得很清楚。通常Django本身不存储密码,而是散列。 所以也许这就是问题所在? 在创建用户时,您是否使用了用户模型的set_password函数?在

请确保您正确地保存了密码。Django将密码存储为哈希,而不是纯文本格式。在

示例:创建新用户。在

user = User.objects.create(username='testuser')
user.set_password('testpass')
user.save()

相关问题 更多 >