Django后台admin的使用详解


Posted in Python onJuly 08, 2019

简述:

Django的admin可以提供一个强大的后台管理功能,可以在web界面对数据库进行操作,我们需要修改admin.py将要操作的数据表注册到后台管理中

创建数据表:

为了便于演示,我们在models.py中创建一张img数据表规则

Django后台admin的使用详解

图中 verbo_name 是在admin界面显示表字段的名称,定义的class Meta中的verbo_name是在admin界面显示的表名

修改admin.py文件

from django.contrib import admin
from app1 import models
# Register your models here.

admin.site.register(models.img)  #将表在admin中注册

启动服务,进入界面

python manage.py makemigrations #生成创建数据表py文件
python manage.py migrate #执行py文件,更新数据库
python manage.py runserver #启动服务

打开浏览器,访问 http://127.0.0.1 :8000/admin

Django后台admin的使用详解

输入设置的账号密码,进入界面

Django后台admin的使用详解

默认的功能可以对表进行简单的增删改查,如果需要批量更新之类的操作,则需要定制相应动作

自定义内容显示:

我们选择进入我们创建的表的界面的时候,默认显示的内容是object

Django后台admin的使用详解

可以在models.py中的相应表写下定义__str__的字段

Django后台admin的使用详解

效果如下

Django后台admin的使用详解

默认显示的内容只有一个,我们可以通过定义ModelAdmin中的list_display来修改它:

from django.contrib import admin
from app1.models import img
# Register your models here.

class imgAdmin(admin.ModelAdmin):
  list_display = ('title','summary','file')
  

admin.site.register(img,imgAdmin)

Django后台admin的使用详解

点击一条数据后,将默认显示每个字段不是一个AutoField并且editable=True在单个字段集中具有与模型中定义的字段相同的顺序。

Django后台admin的使用详解

我们可以定义ModelAdmin中的fields或exclude来修改它:

class imgAdmin(admin.ModelAdmin):
  list_display = ('title','summary','file')
  fields = ('title',)

Django后台admin的使用详解

exclude跟fields相反

自定义动作

默认动作只有删除一项

Django后台admin的使用详解

我们可以通过ModelAdmin自定义

def change_up(modeladmin, request, queryset): #定义动作
  queryset.update(stat='1')
change_up.short_description = "up" #重写动作显示名称

def change_down(modeladmin, request, queryset):
  queryset.update(stat='0')
change_down.short_description = "down"



class imgAdmin(admin.ModelAdmin):
  list_display = ('title','summary','file','stat')
  fields = ('title',)
  actions = [change_up,change_down] #绑定动作

Django后台admin的使用详解

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
21行Python代码实现拼写检查器
Jan 25 Python
python+selenium+autoit实现文件上传功能
Aug 23 Python
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
Python程序员面试题 你必须提前准备!
Jan 16 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
python通过tcp发送xml报文的方法
Dec 28 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
Apr 25 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
Django组件content-type使用方法详解
Jul 19 Python
如何利用python给图片添加半透明水印
Sep 06 Python
Django实现文件上传下载
Oct 06 Python
浅谈Python访问MySQL的正确姿势
Jan 07 Python
Python画图实现同一结点多个柱状图的示例
Jul 07 #Python
python画图把时间作为横坐标的方法
Jul 07 #Python
linux环境中没有网络怎么下载python
Jul 07 #Python
python 实现将多条曲线画在一幅图上的方法
Jul 07 #Python
python 实现在一张图中绘制一个小的子图方法
Jul 07 #Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 #Python
python画双y轴图像的示例代码
Jul 07 #Python
You might like
小偷PHP+Html+缓存
2006/11/25 PHP
PHP Ajax中文乱码问题解决方法
2009/02/27 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
php ImageMagick windows下安装教程
2015/01/26 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
php中switch语句用法详解
2015/08/17 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
用pycharm开发django项目示例代码
2019/06/13 Python
关于Python 中的时间处理包datetime和arrow的方法详解
2020/03/19 Python
python 如何在测试中使用 Mock
2021/03/01 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
Currentbody德国站:健康与美容技术专家
2020/04/05 全球购物
大三在校生电子商务求职信
2013/10/29 职场文书
综合办公室主任职责
2013/12/16 职场文书
自荐信需注意事项
2014/01/25 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
年终总结会主持词
2014/03/25 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
大学生村官考核材料
2014/05/23 职场文书
城管年度个人总结
2015/02/28 职场文书
湘江北去观后感
2015/06/15 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书
用python修改excel表某一列内容的操作方法
2021/06/11 Python