django后台管理系统
admin后台管理
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/ 删
登录admin后台
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中表的名字就是'用户表'