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 ...
随机推荐
- 题解 Lost My Music
传送门 多明显的斜率式然而我没有看出来 然而不管是我乱搞的思路还是正解的凸包思路都需要一个可持久化栈 考场上想到可持久化单调栈,但不会实现-- 其实单调栈不管是否可持久化都能倍增弹栈 但普通单调栈本来 ...
- Leaflet 中 删除 一个 标记(Marker)
参考:https://blog.csdn.net/qq_34922009/article/details/81184004 下面是我在Leaflet官方文档所找到的答案 ,希望可以帮助到大家 比如以下 ...
- WPF三维立体效果3D
并不是真的3D,类似游戏的2.5D. 先上效果图. 变形一下也可以 起先我是想,把这种绘图啊啥的,都做成控件,给别人直接用就行了.但是做的过程中发现. 要做简单易用的控件,实在是花时间. 而且花的时 ...
- WPF设计自定义控件
在实际工作中,WPF提供的控件并不能完全满足不同的设计需求.这时,需要我们设计自定义控件. 这里LZ总结一些自己的思路,特性如下: Coupling UITemplate Behaviour Func ...
- C 静态存储动态存储
首先,我们可以把程序所占的内存空间分为三个部分:(可以根据静态资源区.栈区.堆区来划分) 静态存储:程序运行期间由系统分配固定得到存储空间(栈): 动态存储:开发者根据自身需要进行动态分配的存储空间( ...
- 再也不用担心了,微软官方系统(win10为例)U盘安装教程
参考文章地址 使用微软官方工具安装纯净版操作系统. 一.准备工作 检查电脑规格是否支持安装(主要看看系统配置是否满足系统运行的最低要求) 一台联网电脑(不一定非是要装系统的那台): 一个≥8G 空间的 ...
- 常用数据库JDBC
JDBC的URL=协议名+子协议名+数据源名.1. 协议名总是"jdbc".2.子协议名由JDBC驱动程序的编写者决定.3. 数据源名也可能包含用户与口令等信息:这些信息也可单独提 ...
- msyql redo log和binlog
更新语句执行流程 下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c: create table T(ID int primary key, c int); 如果要将 ID=2 这一行 ...
- vue之 分页封装
npm 下载 npm i element-ui -S components 创建 Page 文件夹 创建 Page.vue 文件 vue 文件 <template> <div c ...
- Sentry For React 完整接入详解(2021 Sentry v21.8.x)前方高能预警!三万字,慎入!
内容源于:https://docs.sentry.io/platforms/javascript/guides/react/ 系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - ...