• admin后台管理


    admin后台管理

    django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用
    django 会搜集所有已注册的模型类,为这些模型类提拱数据管理界面,供开发者使用

    image-20230925104531904

    admin配置步骤

    创建后台管理帐号- 该账号为管理后台最高权限账号

    python3 manage.py createsuperuser
    
    • 1
    $ python3 manage.py createsuperuser
    Username (leave blank to use 'tarena'): tarena # 此处输入用户名
    EmaiT address:  aowei@tedu.cn # 此处输入邮箱
    Password: # 此处输入密码(密码要复杂些,否则会提示密码太简单)
    Password (again): # 再次输入重复密码
    Superuser created successfully.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    管理后台用户和组配置

    注册自定义模型类

    若要自己定义的模型类也能在 /admin 后台管理界中显示和管理

    需要将自己的类注册到后台管理界面
    注册步骤:
    1.在应用app中的admin.py中导入注册要管理的模型models类,如:from .models import Book
    2.调用 admin.site.register 方法进行注册如
    admin.site.register(自定义模型类)

    模型管理器类

    作用:
    为后台管理界面添加便于操作的新功能
    说明:
    后台管理器类须继承自 diango.contrib.admin 里的ModelAdmin 类

    使用方法
    1.在<应用app>/adminpy 里定义模型管理器类

    class xxXXManager(admin.ModelAdmin):
    	...
    
    • 1
    • 2

    2.绑定注册模型管理器和模型类

    from django.contrib import admin
    from .models import *
    admin.site.register(YYYY,XXXXManager) # 绑定 YYYY 模型类与 管理器类 XXXXManager
    
    • 1
    • 2
    • 3
    案例:
    # file : bookstore/admin.py
    from django.contrib import admin
    from .models import Book
    class BookManager(admin.ModelAdmin):
    	list_display = ['id', 'title', 'price', 'market_price']
    admin.site.register(Book, BookManager)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    #列表页显示哪些字段的列
    list display = ['id', 'title', 'pub', 'price']
    #控制list display中的字段 哪些可以链接到修改页
    list display links = ['title']
    #添加过滤器
    list filter = ['pub']
    #添加搜索框[模糊查询]
    search fields = ['title']
    #添加可在列表页编辑的字段
    list editable = ['price']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    再谈Meta类

    通过Meta内嵌类 定义模型类的属性,用法如下

    classBook(models .Mode1):
    	title = charField(....)
    	class Meta:
    
    		1.db_table ='数据表名'
    		- 该模型所用的数据表的名称。(设置完成后需要立马更新同
       步数据库)
       		2.verbose_name = '单数名'
                给模型对象的一个易于理解的名称(单数),用于显示在/admin管理界面中
       		3.verbose name_plural = '复数名'
              该对象复数形式的名称(复数),用于显示在/admin管理界
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    iOS之crash分析篇--捕获signal类型的崩溃信息
    【今天是Ajax同学的到来,我们了解一下她吧】
    (待填坑)【数据结构】笛卡尔树
    丹磺酰荧光素/5-羧基四甲基罗丹明标记PLGA纳米载体,Dansyl-PLGA,TMR-PLGA,齐岳
    PDF格式分析(七十五)——线型注释(Line)
    C //例 7.13 有一个3*4的矩阵,求所有元素中的最大值。
    POI 和 EasyExcel 操作 Excel
    高企认定对研发费用的要求是什么?
    python的集合应用
    django认证重写,用户表使用新表,不用默认auth_user
  • 原文地址:https://blog.csdn.net/m0_54382779/article/details/133271973