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 相关文章推荐
python计算程序开始到程序结束的运行时间和程序运行的CPU时间
Nov 28 Python
Python中使用items()方法返回字典元素对的教程
May 21 Python
Python有序查找算法之二分法实例分析
Dec 11 Python
python+matplotlib演示电偶极子实例代码
Jan 12 Python
python操作excel的方法
Aug 16 Python
python 对key为时间的dict排序方法
Oct 17 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
python如何统计代码运行的时长
Jul 24 Python
wxPython实现绘图小例子
Nov 19 Python
python函数声明和调用定义及原理详解
Dec 02 Python
如何基于python实现归一化处理
Jan 20 Python
opencv 阈值分割的具体使用
Jul 08 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
php 在线打包_支持子目录
2008/06/28 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
浅谈Redux中间件的实践
2018/07/27 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python中title()方法的使用简介
2015/05/20 Python
python中函数总结之装饰器闭包详解
2016/06/12 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
Pyinstaller将py打包成exe的实例
2018/03/31 Python
查看Django和flask版本的方法
2018/05/14 Python
python opencv调用笔记本摄像头
2019/08/28 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
咖啡馆创业计划书
2014/01/26 职场文书
网上商城创业计划书范文
2014/01/31 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
商场消防安全责任书
2014/07/29 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
先进班组材料范文
2014/12/25 职场文书
2015年家长学校工作总结
2015/04/22 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
纪检部部长竞选稿
2015/11/21 职场文书