django之admin后台管理系统使用须知
admin后台管理
django的admin后台管理系统提供了功能强大的后台管理功能,为每一张表提供了增删改查操作。
admin的使用需要做一些基本配置:
- 创建一个admin的超级用户(管理员),只有超级用户才允许登录admin系统。
- 将应用中的表注册到admin中,这样才可以在admin系统中操作表。
创建admin超级用户
创建admin超级用户有两种方式:命令行、代码方式
# 命令行:提供用户名和密码
python manage.py createsuperuser
# 代码方式:提供用户名\密码\邮箱
from django.contrib.auth.models import User
User.objects.create_superuser(username=username,
email='123@qq.com',
password=password)
# 补充:如果扩展了auth_user表,则用自己的表来创建超级用户
注册模型表
如果你先想要使用amdin后台管理操作模型表,那你需要先注册你的模型表,告诉admin你需要操作哪些表。
在应用下的admin.py
文件中注册你的模型表。
from django.contrib import admin
from app01 import models
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
admin.site.register(models.Tag)
admin.site.register(models.Category)
admin.site.register(models.Article)
admin.site.register(models.Article2Tag)
admin.site.register(models.UpDown)
admin.site.register(models.Comment)
补充:
# admin会给每一个注册了的模型表自动生成增删改查四条url #关键点就在于urls.py中的第一条自带的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
开启django项目,浏览器url输入框输入http://127.0.0.1:8000/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中表的名字就是'用户表'