django中admin一些方法
1.概述:内容发布,负责添加,修改,删除内容及公告访问
2.配置admin应用
在settings文件中INSTALLED_APPS添加:'django.contrib.admin', 默认是已经添加好的
3.创建管理员用户
在项目下终端中输入:pytyhon maange.py createsuperuser
依次输入用户名,邮箱,密码
4.汉化
在settings中
LANGUAGE_CODE = 'en-us'改为:LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'UTC'改为:TIME_ZONE = 'Asia/Shanghai'
5.管理数据表
修改admin.py文件
1.先把models中的模型类注册到admin.py中
from .models import Students,Grades
#注册
admin.site.register(Grades)
admin.site.register(Students)
6.自定义管理页面
一.属性说明
#列表页面属性
1.显示字段
list_display = []
2.添加过滤器,用于过滤字段
list_filter = []
3.添加搜索字段
search_fields = []
4.添加分页,看一页显示多少
list_per_page =3
#修改,添加页面属性
注意:fields和fieldsets,只能使用一个,不能同时使用
1.规定属性的先后顺序
fields =[]
2.给属性分组
fieldsets =
举例:
from django.contrib import admin
from .models import Students,Grades
#自定义管理页面
class GradesAdmin(admin.ModelAdmin):
#列表页面属性
#1.显示字段
list_display = ['pk','gname','gdate','ggirlnum','gboynum','isdelete']
# 2.添加过滤器,用于过滤字段
list_filter = ['gname']
# 3.添加搜索字段
search_fields = ['gname']
# 4.添加分页
list_per_page =3
# #添加,修改页面属性,id即pk是没有,不可以设定顺序
# fields =['ggirlnum','gboynum','gname','gdate','isdelete']
#给属性分组,这里面的组,是一个元组
fieldsets = [
('num',{'fields':['ggirlnum','gboynum']}),
('base',{'fields':['gname','gdate','isdelete']}),
]
#注册
admin.site.register(Grades,GradesAdmin)
admin.site.register(Students)
二、关联对象
需求:在创建一个班时可以直接添加几个学生
举例:
class StudentInfo(admin.TabularInline): #StackedInline和TabularInlineg两种风格不一样
model = Students
extra = 2
#在类中直接添加
class GradesAdmin(admin.ModelAdmin):
inlines = [StudentInfo ]
#列表页面属性
#1.显示字段
list_display = ['pk','gname','gdate','ggirlnum','gboynum','isdelete']
# 2.添加过滤器,用于过滤字段
list_filter = ['gname']
# 3.添加搜索字段
search_fields = ['gname']
# 4.添加分页
list_per_page =3
# #添加,修改页面属性,id即pk是没有,不可以设定顺序
# fields =['ggirlnum','gboynum','gname','gdate','isdelete']
#给属性分组
fieldsets = [
('num',{'fields':['ggirlnum','gboynum']}),
('base',{'fields':['gname','gdate','isdelete']}),
]
class StudentsAdmin(admin.ModelAdmin):
list_display = ['pk','sname','sgender','sage','scontend','isdelete','sgrade']
list_per_page = 3
#注册
admin.site.register(Grades,GradesAdmin)
admin.site.register(Students,StudentsAdmin)
三、布尔值显示问题
例如:男女区别显示
class StudentsAdmin(admin.ModelAdmin):
#用一个方法封装
def gender(self):
if self.sgender:
return '男'
else:
return '女'
#设定页面列的名称
gender.short_description = '性别'
list_display = ['pk','sname',gender,'sage','scontend','isdelete','sgrade']
list_per_page = 3
#注册
admin.site.register(Students,StudentsAdmin)
四、执行动作位置的问题
actions_on_bottom = True
actions_on_top = False
示例:
class StudentsAdmin(admin.ModelAdmin):
def gender(self):
if self.sgender:
return '男'
else:
return '女'
#设定页面列的名称
gender.short_description = '性别'
list_display = ['pk','sname',gender,'sage','scontend','isdelete','sgrade']
list_per_page = 3
#执行动作的位置
actions_on_bottom = True
actions_on_top = False
#注册
admin.site.register(Grades,GradesAdmin)
admin.site.register(Students,StudentsAdmin)
五、不用原始方式注册,使用装饰器来进行注册
不使用:admin.site.register(Students,StudentsAdmin)注册
使用 @admin.register(Students) 注册
示例:
@admin.register(Students)
class StudentsAdmin(admin.ModelAdmin):
def gender(self):
if self.sgender:
return '男'
else:
return '女'
#设定页面列的名称
gender.short_description = '性别'
list_display = ['pk','sname',gender,'sage','scontend','isdelete','sgrade']
list_per_page = 3
#执行动作的位置
actions_on_bottom = True
actions_on_top = False
django中admin一些方法的更多相关文章
- Django 中 admin 的执行流程
Django 中 admin 的执行流程 1 循环加载执行所有已经注册的 app 中的 admin.py 文件 def autodiscover(): autodiscover_modules('ad ...
- django中admin的使用
转载网址:https://www.cnblogs.com/wumingxiaoyao/p/6928297.html Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理 ...
- Django 中Admin站点的配置
Admin站点是django提供的一个后台管理页面,可以用来对用户与数据库表数据进行管理. Admin站点配置流程 1.在settings.py文件中INSTALL_APPS列表中添加django.c ...
- django中使用POST方法 获取POST数据
在django中获取post数据,首先要规定post发送的数据类型是什么. 1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送PO ...
- django中ModelForm save方法 以及快速生成空表单或包含数据的表单 包含错误信息
django中ModelForm学习系列一~save方法 Model代码 from django.db import models # Create your models here. class P ...
- django中admin路由系统工作原理
一.如图所示 from django.contrib import admin from . import models class zhangsan(admin.ModelAdmin): list_ ...
- Django中Admin样式定制
Django自带的admin在展示数据是样式有点单一,我们可以自己定义数据的展示样式. 一.自定义数据展示样式 1.后台查询书记列表时,同时列出出版社和出版时间: admin.py文件 from dj ...
- django中admin
我们在models中建立了表结构,想要在admin中表示: from django.contrib import admin from . import models for table in mod ...
- 【转】Django中使用POST方法获取POST数据
1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送POST数据前,定义post请求头中的请求数据类型: xmlhttp.setRe ...
随机推荐
- 【原创】JavaFx程序解决Jupyter Notebook导出PDF不显示中文
0.ATTENTION!!! JavaFx里是通过Java调用控制台执行的的jupyter和xelatex指令, 这些个指令需要在本地安装Jupyter和MikTeX之后才能正常在电脑上运行 1.[问 ...
- 第一次上传代码到gitee
初始化 git init 添加文件到本地仓库 git add . 提交文件到本地仓库 git remote add origin 仓库地址 拉去远程仓库代码 git pull origin maste ...
- .net core 微服务参考文章
网址: https://www.cnblogs.com/edisonchou/p/9124985.html Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Consul基础介绍 Co ...
- redisson 分布式加锁
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
- C# Fakes
我们为了测试程序的运行逻辑,需要写单元测试来验证程序的逻辑.有的时候我们的逻辑需要依赖于外界的事物(需要一个文件,eg:数据库),我们不可能在运行单元测试的计算机都创建一个数据库,所以这个时候我们就需 ...
- JAVA 各种时间类型转换
final Date date = new Date(); final Timestamp timestamp = new Timestamp(date.getTime()); final Calen ...
- js获取文件名和后缀名
- Linux centos7 -bash: pstree: 未找到命令
2021-08-12 1. 命令简介pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只 ...
- vue 点击复制当前网址
template 部分 <div class="NewNoticeDetails-ctrlButton" @click="copy()"> ...
- JAVA 之 每日一记 之 算法( 给定一个正整数,返回它在 Excel 表中相对应的列名称。 )
题目: 给定一个正整数,返回它在 Excel 表中相对应的列名称. 例如: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -& ...