django后台管理系统

cuiwenjie 2020-06-16

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/

django后台管理系统

扩展

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

相关推荐

inspuryhq / 0评论 2020-07-28