如何使用 Django REST Framework 将会话与自定义用户模型结合使用?

How do I use Sessions with Custom User Model using Django REST Framework?

我目前正在从事一个项目,该项目涉及仅将 Django 用于后端 API 端点,使用基于 class 的视图来验证数据库内容并将其提供给前端用户。

class UserLogin(APIView): # User Login
def post(self, request, format=None):
    print(request)
    try:
        User_Cred.objects.get(username=request.data['username'], password=request.data['password']) # Retrieves user record
        pass # TEMPORARY

    except User_Cred.DoesNotExist: # If User Record does not exist,
        raise Http404

现在,我正在尝试弄清楚如何实现用户身份验证会话。我知道 Django 与会话有某种集成。但是,我没有使用 Django 的默认用户模型,而是使用自定义模型(见下文)。

class Users(models.Model):
username = models.CharField(max_length=100, unique=True)
password = models.CharField(max_length=100)
def __str__(self):
    return self.username

有什么方法可以使用我的自定义用户模型进行会话身份验证?提前致谢。

要使用自定义用户模型,您只需将此行添加到您的 settings.py

AUTH_USER_MODEL = "your_app_name.Users"

然后对于你的权限和认证系统,你可以按照这个文档来设置它:

https://docs.djangoproject.com/en/3.2/topics/auth/customizing/