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一些方法的更多相关文章

  1. Django 中 admin 的执行流程

    Django 中 admin 的执行流程 1 循环加载执行所有已经注册的 app 中的 admin.py 文件 def autodiscover(): autodiscover_modules('ad ...

  2. django中admin的使用

    转载网址:https://www.cnblogs.com/wumingxiaoyao/p/6928297.html     Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理 ...

  3. Django 中Admin站点的配置

    Admin站点是django提供的一个后台管理页面,可以用来对用户与数据库表数据进行管理. Admin站点配置流程 1.在settings.py文件中INSTALL_APPS列表中添加django.c ...

  4. django中使用POST方法 获取POST数据

    在django中获取post数据,首先要规定post发送的数据类型是什么. 1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送PO ...

  5. django中ModelForm save方法 以及快速生成空表单或包含数据的表单 包含错误信息

    django中ModelForm学习系列一~save方法 Model代码 from django.db import models # Create your models here. class P ...

  6. django中admin路由系统工作原理

    一.如图所示 from django.contrib import admin from . import models class zhangsan(admin.ModelAdmin): list_ ...

  7. Django中Admin样式定制

    Django自带的admin在展示数据是样式有点单一,我们可以自己定义数据的展示样式. 一.自定义数据展示样式 1.后台查询书记列表时,同时列出出版社和出版时间: admin.py文件 from dj ...

  8. django中admin

    我们在models中建立了表结构,想要在admin中表示: from django.contrib import admin from . import models for table in mod ...

  9. 【转】Django中使用POST方法获取POST数据

    1.获取POST中表单键值数据 如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送POST数据前,定义post请求头中的请求数据类型: xmlhttp.setRe ...

随机推荐

  1. [TcaplusDB知识库]数据库支撑底盘引擎计算层介绍

    在上次的TcaplusDB知识库中,TcaplusDB君为大家讲解了TcaplusDB所用的基于HASH表的Key-value存储引擎TXHDB.存储引擎作为数据库的支撑底盘,其重要性无可置疑,而在本 ...

  2. WPF---数据绑定之ValidationRule数据校验(六)

    一.概述 我们知道,Binding好比架设在Source和Target之间的桥梁,数据可以借助这个桥梁进行流通.在数据流通的过程中,我们可以在Binding这座桥梁上设置关卡,对数据的有效性进行验证. ...

  3. 【springcloud】配置中心(Config-Server)

    转自:https://blog.csdn.net/pengjunlee/article/details/88061736 参考文章 Spring Cloud 配置中心为分布式系统中的服务器端和客户端提 ...

  4. 解决maven中静态资源只能放到properties中的问题

    构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件. Maven项目的标准目录结构 src main java         源文件 resour ...

  5. Ztree 树插件 树节点名称太长的解决方案

    样式允许的情况下 给背景div加滚动条.. 或者使用省略号方法:使用addDiyDom   http://blog.csdn.net/zhengbo0/article/details/17759543 ...

  6. T-SQL - query02_查看数据库信息|查看服务器名称|查看实例名

    时间:2017-09-29 编辑:byzqy 本篇记录几个查询数据库信息的 T-SQL 语句: 查看数据库信息 查看服务器名称 查看实例名 文件:SQLQuery2.sql /* 说明: SQLQue ...

  7. ubuntu apt-get Failed to fetch Temporary failure resolving 'security.ubuntu.com'

    发现是因为代理设置原因,导致无法上网,设置代理后问题解决. System Setting -> Network -> Network Proxy -> input IP+Port - ...

  8. 快速排序(C++)

    快速排序 快速排序是面试中经常问到的排序算法 基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小, 则可分别对这两部分记录继续进行排序,以达到整个序 ...

  9. android kotlin 子线程中调用界面UI组件崩溃

    UI 只能在主线程内更新,子线程需要更新UI组件时可以这样: fun fuck(){ Executors.newSingleThreadExecutor().execute{ // url reque ...

  10. 办公室文员必备python神器,将PDF文件表格转换成excel表格!

    [阅读全文] 第三方库说明 # PDF读取第三方库 import pdfplumber # DataFrame 数据结果处理 import pandas as pd 初始化DataFrame数据对象 ...