简单数据库模型设计及后台管理
用户模型构造
在users中的models.py写入(django库自带一个user,下面继承django的模型):
from django.contrib.auth.models import AbstractUser # 引入
class UserProfile(AbstractUser):
portrait = models.ImageField(upload_to="person" , default='person/default.jpg', max_length=100, verbose_name='用户头像')
gender = models.CharField(max_length=6, choices=(('男', '男'), ('女', '女')), default='female', verbose_name='性别')
mobile = models.CharField(max_length=11, null=True, blank=True, verbose_name='手机号')
class Meta:
db_table = 'user_profile'
verbose_name = "用户信息"
verbose_name_plural = verbose_name
def __str__(self):
return self.username
在settings中配置:AUTH_USER_MODEL = ‘users.UserProfile’
数据迁移
django很方便的一个功能就是能够将用户构造的模型自动的迁移到数据库并生成对应的字段
python manage.py makemigrations
python manage.py migrate
如果数据库没有报错的话已经成功的迁移了:
UserProfile成功的继承了django的AbstractUser模型,如果要继续添加或者修改模型,每次操作之后都要进行这两个命令:
python manage.py makemigrations
python manage.py migrate
Django框架的后台管理
django框架自带有后台管理系统,在urls.py中有一行这句代码,就是后台管理的映射地址:
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
]
访问localhost:8000/admin发现需要登录,使用以下命令创建超级用户:
python manage.py createsuperuser
然后启动项目,再访问localhost:8000/admin进行登录就会看到后台管理系统。
成功的进入Django自带的后台管理界面。