Django的Admin站点管理
一、概述
内容发布:负责添加、修改、删除内容
公告访问
二、配置Admin应用
在settings.py文件中的INSTALLED_APPS中添加'django.contrib.admin',默认是添加好的
三、创建管理员用户
在项目的根目录下,执行命令:python manage.py createsuperuser
依次输入用户名、邮箱、密码(密码不能太复杂)
四、汉化
修改setting.py
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
五、管理数据表
准备工作:在admin.py文件中添加
from .models import Grades,Students # . 表示同目录下的文件
# 注册模型类
admin.site.register(Grades)
admin.site.register(Students)
自定义管理界面:
1、代码
# 管理班级界面,需要注册一个相应的管理类
class GradesAdmin(admin.ModelAdmin): #需要继承
#列表页属性
list_display = ['pk','gname','gdate','ggirlnum','gboynum','isDelete']
list_filter = ['gname']
search_fields = ['gname']
list_per_page = 5 # 每五条一页
# 添加、修改页属性
# fields = ['ggirlnum', 'gboynum', 'gname', 'gdate', 'isDelete']
fieldsets = [
("num", {"fields":['ggirlnum', 'gboynum']}),
("base", {"fields":['gname', 'gdate', 'isDelete']}),
]
# 写好的管理类需要加到注册里
admin.site.register(Grades, GradesAdmin)
2、属性说明
列表属性:
list_display:显示字段
list_filter:过滤字段,页面右上方显示出过滤器按钮
search_fields:搜索字段,页面左上方显示出搜索框
list_per_page:分页
添加、修改页属性:
fields:属性的先后顺序
fieldsets:给属性分组
注意:fields与fieldsets不能同时使用
3、关联对象:
# 准备工作,记得注册
class StudentsAdmin(admin.ModelAdmin):
list_display = ['pk', 'sname', 'sage', 'sgender', 'scontend', 'sgrade', 'isDelete']
list_per_page = 2
需求:在创建一个班级时可以直接添加两个学生
# 在admin.py添加一个类
class StudentsInfo(admin.Tabularlnline): # 也可以继承admin.StackedInline,两张的区别在于页面显示效果不同
model = Students
extra = 2
# 注意:要在GradesAdmin类添加一行;为了节省空间,剩余的代码就不往上填了
class GradesAdmin(admin.ModelAdmin):
inlines = [StudentsInfo]
4、布尔值显示替换成想要的参数:
# 增加函数gender()
class StudentsAdmin(admin.ModelAdmin):
def gender(self):
if self.sgender:
return '男'
else:
return '女'
# 将页面列的字段替换成想要显示的字段
gender.short_description = "性别"
# 将函数gender作为参数传入,代替sgender
list_display = ['pk', 'sname', 'sage', gender, 'scontend', 'sgrade', 'isDelete']
使用装饰器完成注册:
# 用装饰器来代替之前的注册函数
@admin.register(Students)
class StudentsAdmin(admin.ModelAdmin):
完结
Django的Admin站点管理的更多相关文章
- Django之admin中管理models中的表格
Django之admin中管理models中的表格 django中使用admin管理models中的表格时,如何将表格注册到admin中呢? 具体操作就是在项目文件夹中的app文件夹中的admin中注 ...
- django中的站点管理
所谓网页开发是有趣的,管理界面是千篇一律的.所以就有了django自动管理界面来减少重复劳动. 一.激活管理界面 1.django.contrib包 django自带了很多优秀的附加组件,它们都存在于 ...
- django之admin站点
Admin站点 通过使用startproject创建的项目模版中,默认Admin被启用 1.创建管理员的用户名和密码 python manage.py createsuperuser 然后按提示填写用 ...
- Django 中Admin站点的配置
Admin站点是django提供的一个后台管理页面,可以用来对用户与数据库表数据进行管理. Admin站点配置流程 1.在settings.py文件中INSTALL_APPS列表中添加django.c ...
- django使用admin站点上传图片
Django有提供文件系统支持,在Admin站点中可以轻松上传图片.使用Admin站点保存图片,需要安装Python的图片操作包 pip install Pillow 1 配置 默认情况下,Dja ...
- django的admin后台管理
Admin后台管理 要进入admin后台管理首先要创建管理员账户 createsuperuser 其中密码要大于8位 使用之前要到应用下的admin.py中注册要管理的模型表 from django. ...
- Django框架admin后台管理和用户端静态文件
目录 一.admin后台管理 1. 如何使用 2. 路由分发的本质 二.用户上传的静态文件的展示 1. media配置 2. 手动开设media接口 三.图片防盗链 一.admin后台管理 djang ...
- django的admin后台管理如何更改为中文
新建Django的admin后端控制为英文显示,为了可以使其显示中文,可以将 setting.py配置文件修改 # LANGUAGE_CODE = 'en-us' # # # # # TIME_ZON ...
- BBS(第二天) Django之Admin 自动化管理数据页面 与创建一个用户注册的验证码
1.admin的概念 # Admin是Django自带的一个功能强大的自动化数据管理界面 # 被授权的用户可以直接在Admin中操作数据库 # Django提供了许多针对Admin的定制功能 2. 配 ...
随机推荐
- 关键字-super
super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. class BaseAction { String name; int age; void value( ...
- 一 Struts2 开发流程
SSH与SSM简介SSM:Spring+SpringMVC+MybatisSSH:Struts2+Hibernate+SpringStruts2:是侧重于控制层的框架Hibernate:是一个ORM( ...
- day21(1)---python的内存管理
垃圾回收机制: 不能被程序访问到的数据,就称之为垃圾. 引用计数:引用计数是用来记录值的内存地址被记录的次数的 每一次对值地址的引用都可以使得该值的引用计数+1 每一次对值地址的释放都可以使得该值的引 ...
- 使用serialize时多数据传递
class CartList(APIView): #定义编辑方法 def post(self,request): username = request.POST.get('username') # p ...
- 「学习笔记」min_25筛
前置姿势 魔力筛 其实不看也没关系 用途和限制 在\(\mathrm{O}(\frac{n^{0.75}}{\log n})\)的时间内求出一个积性函数的前缀和. 所求的函数\(\mathbf f(x ...
- AtCoder Beginner Contest 124 D - Handstand(思维+前缀和)
D - Handstand Time Limit: 2 sec / Memory Limit: 1024 MB Score : 400400 points Problem Statement NN p ...
- centos系统java后台运行(xshll关掉不至于jar程序结束)
这样执行,就可以后台运行java程序 nohup java -Dfile.encoding=UTF-8 -jar xxx.jar & 后台内容在该目录下nohup .out文件内,netst ...
- 【翻译】asp.net core中使用MediatR
这篇文章来自:https://ardalis.com/using-mediatr-in-aspnet-core-apps 本文作为翻译,有一些单词翻译成中文可能会有一些误解(对于读者)或者错误(对于作 ...
- tensorflow函数/重要功能实现
一.基础函数 1.1 .tf.reduce_sum(input_tensor, axis) Computes the sum of elements across dimensions of a ...
- 自己实现ArrayList与LinkedList类
ArrayList与LinkedList的底层实现 ArrayList内部由数组实现,LinkedList内部由链表实现. 自己动手实现ArrayList与LinkedList中一些常用方法 Arra ...