• django后台管理系统


    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中表的名字就是'用户表'
    
  • 相关阅读:
    postgres 常见错误之字段关联不明确
    nginx proxy_pass 配置
    css font-family有哪些
    Inno Setup [Run] Section 双引号嵌套
    ubuntu16.04下ftp服务器的安装与配置
    How to check if directory exist using C++ and winAPI
    Ubuntu parted 命令 写在脚本里时要带 -s 参数
    Ubuntu syslog 太多的 named[1195]: error (network unreachable) resolving './DNSKEY/IN': 2001:7fd::1#53
    Ubuntu忘记超级用户root密码,重新设置密码 转载
    Python 替换文本中的某些词语
  • 原文地址:https://www.cnblogs.com/surpass123/p/13139530.html
Copyright © 2020-2023  润新知