cuiwenjie 2020-06-16
django的admin后台管理系统提供了功能强大的后台管理功能,为每一张表提供了增删改查操作。
1.使用超级账号( admin 权限) 2.对应用的表进行注册
# 命令行方式创建(必填项:用户名以及密码) python manage.py createsuperuser # 代码方式创建(必填项:用户名以及密码、邮箱) from django.contrib.auth.models import User User.objects.create_superuser( username=username, password=password, email=email )
admin.py
from django.contrib import admin from app01 import models # Register your models here. admin.site.register(models.UserInfo) admin.site.register(models.Blog) admin.site.register(models.Category) admin.site.register(models.Tag) admin.site.register(models.Article) admin.site.register(models.Article2Tag) admin.site.register(models.UpAndDown) admin.site.register(models.Comment)
注意:
admin后台会给每个注册的模型表增加增删改查4条url
http://127.0.0.1:8000/admin/app01/userinfo/ 查 http://127.0.0.1:8000/admin/app01/userinfo/add/ 增 http://127.0.0.1:8000/admin/app01/userinfo/1/change/ 改 http://127.0.0.1:8000/admin/app01/userinfo/1/delete/ 删
http://127.0.0.1:8001/admin/login/?next=/admin/
注册到admin中的表默认的名字是模型表的类名加字母s
,复数的意思,如model.py
中的UserInfo
表注册到admin.py
后,在admin后台管理系统中默认显示的是UserInfos
class UserInfo(AbstractUser): phone = models.BigIntegerField(verbose_name=‘手机号‘, null=True) avatar = models.FileField(upload_to=‘avatar/‘, default=‘avatar/default.png‘) register_time = models.DateTimeField(auto_now_add=True, verbose_name=‘注册时间‘) blog = models.OneToOneField(to=‘Blog‘, null=True) def __str__(self): return self.username # 方便用户显示,避免显示用户对象造成语意不明 class Meta: verbose_name_plural = ‘用户表‘ # 此时,admin中表的名字就是‘用户表‘