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中表的名字就是'用户表'
posted @ 2020-06-11 22:07  the3times  阅读(364)  评论(0编辑  收藏  举报