怎么使用django中的用户数据表
时间: 2024-03-02 08:49:31 浏览: 71
在Django的视图中使用数据库查询的方法
Django中内置了用户认证系统,包括用户数据表、用户注册、用户登录、密码重置等功能。要使用Django中的用户数据表,需要在settings.py中配置AUTH_USER_MODEL参数。
1. 创建一个新的应用程序,例如"accounts",并在settings.py中将其添加到INSTALLED_APPS。
2.models.py中创建一个新的User模型,并将其继承自AbstractBaseUser和PermissionsMixin。
```python
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
from django.db import models
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=255, unique=True)
name = models.CharField(max_length=255)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
date_joined = models.DateTimeField(auto_now_add=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['name']
```
3. 在settings.py中设置AUTH_USER_MODEL为该模型的完全限定名称。
```python
AUTH_USER_MODEL = 'accounts.User'
```
4. 运行makemigrations和migrate命令来创建和应用数据库迁移。
```bash
python manage.py makemigrations
python manage.py migrate
```
现在可以像使用Django内置的User模型一样使用自定义的User模型了。例如,可以使用Django内置的登录视图和表单来处理用户登录,也可以使用自己编写的视图和表单来完成相应的功能。
阅读全文