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中表的名字就是‘用户表‘