如何使用 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/
我目前正在从事一个项目,该项目涉及仅将 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/