Django:admin管理后台2,ModelAdmin模型管理器类
https://docs.djangoproject.com/zh-hans/3.2/ref/contrib/admin/
admin.py
from django.contrib import admin# Register your models here.
from .models import Bookadmin.site.register(Book)
保存,回到管理后台界面,刷新,
显示的书籍列表,即models.py里Book模型类的def __str__(self)
方法定义的return
信息
模型类在models.py里,是数据库里的一张表
模型管理器类在admin.py里,是专门管理模型类在后台的功能
admin.py
from django.contrib import admin# Register your models here.
from .models import Book
class BookManager(admin.ModelAdmin):list_display = ["id", "title", "pub", "price"] # 列表页显示哪些字段admin.site.register(Book, BookManager)
模型类里,list_display是列表,里面是模型类Book的类属性,显示到后台界面上是模型类Book的verbose_name。
from django.contrib import admin# Register your models here.
from .models import Book
class BookManager(admin.ModelAdmin):list_display = ["id", "title", "pub", "price"] # 列表页显示哪些字段# 控制list_display中的字段,哪些可以链接到修改页(前提:list_display_links的字段必须在list_display中)list_display_links = ["title"]admin.site.register(Book, BookManager)
from django.contrib import admin# Register your models here.
from .models import Book
class BookManager(admin.ModelAdmin):list_display = ["id", "title", "pub", "price"] # 列表页显示哪些字段# 控制list_display中的字段,哪些可以链接到修改页(前提:list_display_links的字段必须在list_display中)list_display_links = ["title"]list_filter = ["pub"] # 添加过滤器admin.site.register(Book, BookManager)
from django.contrib import admin# Register your models here.
from .models import Book
class BookManager(admin.ModelAdmin):list_display = ["id", "title", "pub", "price"] # 列表页显示哪些字段# 控制list_display中的字段,哪些可以链接到修改页(前提:list_display_links的字段必须在list_display中)list_display_links = ["title"]list_filter = ["pub"] # 添加过滤器search_fields = ["title"] # 添加搜索框(模糊查询)admin.site.register(Book, BookManager)
from django.contrib import admin# Register your models here.
from .models import Book
class BookManager(admin.ModelAdmin):list_display = ["id", "title", "pub", "price"] # 列表页显示哪些字段# 控制list_display中的字段,哪些可以链接到修改页(前提:list_display_links的字段必须在list_display中)list_display_links = ["title"]list_filter = ["pub"] # 添加过滤器search_fields = ["title"] # 添加搜索框(模糊查询)# 添加可在列表页编辑的字段(前提:list_editable的字段必须在list_display中,同时list_editable与list_filter字段互斥)list_editable = ["price"] admin.site.register(Book, BookManager)
模型类在后台界面,默认显示名称是模型类名Book加s
models.py
# models.py
from django.db import modelsclass Book(models.Model):title = models.CharField(max_length=50, default="", verbose_name="书名", unique=True)pub = models.CharField(max_length=100, default="", verbose_name="出版社")price = models.DecimalField(max_digits=7, decimal_places=2, default=999, verbose_name="价格")market_price = models.DecimalField(max_digits=7, decimal_places=2, default=9999, verbose_name="零售价")is_active = models.BooleanField(verbose_name="是否活跃", default=True)class Meta:db_table = "book"verbose_name = "图书"def __str__(self):return "书名:{}_出版社:{}_价格:{}_市场价:{}".format(self.title, self.pub, self.price, self.market_price)
class Meta里,
1、db_table
,设置模型类在数据库里的名称
2、verbose_name
,设置模型类在Django后台界面的显示名称(单数)
3、verbose_name_plural
,设置模型类在Django后台界面的显示名称(复数)
# models.py
from django.db import modelsclass Book(models.Model):title = models.CharField(max_length=50, default="", verbose_name="书名", unique=True)pub = models.CharField(max_length=100, default="", verbose_name="出版社")price = models.DecimalField(max_digits=7, decimal_places=2, default=999, verbose_name="价格")market_price = models.DecimalField(max_digits=7, decimal_places=2, default=9999, verbose_name="零售价")is_active = models.BooleanField(verbose_name="是否活跃", default=True)class Meta:db_table = "book"verbose_name = "图书"verbose_name_plural = verbose_namedef __str__(self):return "书名:{}_出版社:{}_价格:{}_市场价:{}".format(self.title, self.pub, self.price, self.market_price)
# models.py
from django.db import modelsclass Book(models.Model):STATUS_CHOICES = [("p", "Published"),("d", "Draft"),]title = models.CharField(max_length=50, default="", verbose_name="书名", unique=True)pub = models.CharField(max_length=100, default="", verbose_name="出版社")price = models.DecimalField(max_digits=7, decimal_places=2, default=999, verbose_name="价格")market_price = models.DecimalField(max_digits=7, decimal_places=2, default=9999, verbose_name="零售价")is_active = models.BooleanField(verbose_name="是否活跃", default=True)status = models.CharField(max_length=1, choices=STATUS_CHOICES, default="p", blank=True, null=True)class Meta:db_table = "book"verbose_name = "图书"verbose_name_plural = verbose_namedef __str__(self):return self.title
from django.contrib import admin# Register your models here.
from .models import Book, Author
from django.utils.html import format_htmlclass BookManager(admin.ModelAdmin):list_display = ["id", "title", "pub", "price", "status"] # 列表页显示哪些字段# 控制list_display中的字段,哪些可以链接到修改页(前提:list_display_links的字段必须在list_display中)list_display_links = ["title"]list_filter = ["pub"] # 添加过滤器search_fields = ["title"] # 添加搜索框(模糊查询)# 添加可在列表页编辑的字段(前提:list_editable的字段必须在list_display中,同时list_editable与list_filter字段互斥)list_editable = ["price"] # 展示的字段项里哪些在页面上就可以直接编辑list_per_page = 3 # 每页展示几条记录list_max_show_all = 20 # 当点击All时,最多展示10条,默认最多显示200条empty_value_display = "NA" # 空字段值显示NA
from django.contrib import admin# Register your models here.
from .models import Book, Author
class BookManager(admin.ModelAdmin):list_display = ["id", "title", "pub", "price"] # 列表页显示哪些字段class AuthorManager(admin.ModelAdmin):list_display = ["id", "name", "age"]admin.site.register(Book, BookManager)
admin.site.register(Author, AuthorManager)
Django:admin管理后台2,ModelAdmin模型管理器类相关推荐
- 主数据管理平台如何进行模型管理
企业管理主数据,模型管理尤为重要.在对主数据进行建模操作时,既要保证数据通用性.安全性,又要符合企业的业务需求.今天小亿带你认识一下亿信华辰睿码主数据管理平台里的主数据模型管理. 主数据模型分类 一款 ...
- 关于django—模型序列化器类详细内容
一.定义模型序列化器类 1.继承serializers.ModelSerializer类或其子类 2.需要在Meta内部类中指定model.fields类属性参数 3.model指定模型类(需要生成序 ...
- 商品管理后台html,商品类型管理.html
后台管理 +添加商品类型 排序商品类型名称操作 1双主属性(尺寸+颜色) 编辑 删除 layui.use(['jquery', 'laydate','form','layer','laypage'], ...
- 电商后台系统:管理后台篇之库存管理
http://www.toutiao.com/a6427231547573158145/ 库存,是电商企业不能回避的问题,也是电商企业的命门.供应链管理上的问题,往往都会体现在库存上,要么是库存过多导 ...
- 管理后台项目-06-用户管理角色管理模块
目录 1-路由信息搭建和api文件信息创建 2-用户管理模块 2.1-列表数据获取以及动态渲染 2.2-添加 | 修改 用户 2.3-删除-批量删除用户 2.4-分配角色 3-角色管理 3.1-修改角 ...
- 管理后台 - 轮播图片管理功能
先上效果图 列表 四个必须字段:id . imgUrl . imgLink . addTime id主要作用有两个:区分是save还是update,新上传的图片存储时无id,修改时则有id. addT ...
- Django管理后台
目录 第一种注册model的方法 认识后台管理页面 第二种注册model的方法 ModelAdmin的常用属性 利用actions丰富动作工具栏 利用list_display修改显示列 利用searc ...
- Python Django,模型,模型管理器类(models.Manager)(与数据库交互的接口),自定义模型管理器类
模型类.objects.all() ---> objects是Django自动生成的管理器对象,通过这个管理器对象可以实现与数据库的交互. 定义模型类时可以为模型类指定自定义的管理类对象,指定后 ...
- 十一、轻松搭建网站管理后台
互联网上见到的多数网站都有一个你看不见的更强大的管理后台支持,比如一个新闻网站的管理后台一定有新闻编辑.发布.审核.管理等,一个论坛网站的管理后台一定有用户管理.板块管理.帖子审核等.这一节我们见识一 ...
最新文章
- Python3 使用replace 替换空格无效
- 你必须非常努力,才能看起来毫不费力
- clion 远程调试配置失败 Failed to reload 错误
- mysql基础(DQL语言、DML语言、DDL语言)详解
- 20200406 托普雷兹矩阵 Toeplitz
- 吴恩达深度学习笔记12-Course4-Week3【目标检测】
- 從三種方式看SQL的使用程度
- (pytorch-深度学习)深度循环神经网络
- react回调函数_React中的回调中自动绑定ES6类函数
- spring cloud微服务分布式云架构 - Spring Cloud集成项目简介( java ssm spring boot b2b2c o2o 多租户电子...
- sap导入中文数据乱码
- jar反编译工具 比jd-gui 功能更强大的 Luyten 查看jar源码, 解决jd反编译代码中break labelxxx 、 static初始块中出现return 等问题
- SWS_BICUBIC未声明的标识符解决方法
- 计算机word怎么写,电脑word怎么用?
- 【Redis笔记】一起学习Redis | 如何利用Redis实现一个分布式锁?
- 如何查看笔记本的语言编码_在编码笔记本电脑中寻找什么
- android设置图片长宽比例,【教程】安卓保证图片长宽比的同时拉伸图片
- oracle 中int字节,oracle 数据类型
- ubuntu硬盘修复
- 2022年最新青海建筑八大员(标准员)考试试题及答案
热门文章
- Oier's little dream
- pyspark 编写 UDF函数
- 刷题总结——road(ssoi)
- 关于SRAM,DRAM,SDRAM,以及NORFLASH,NANDFLASH
- Struts+iBatis+Spring+mysql整合开发
- DefaultNetworkCredentials vs DefaultCredentials
- java乱码解决方法
- 依赖注入有点_一文读懂Java控制反转(IOC)与依赖注入(DI)
- python dataset[trans_python gdal根据图像坐标生成矢量框(含图像坐标转地理坐标)...
- linux虚拟机中安装java软件,在 Linux 中安装 JAVA 虚拟机