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使用BeautifulSoup分析网页信息的方法
Apr 04 Python
Python字符串处理函数简明总结
Apr 13 Python
使用Python解析JSON数据的基本方法
Oct 15 Python
python实现字符串连接的三种方法及其效率、适用场景详解
Jan 13 Python
python中的break、continue、exit()、pass全面解析
Aug 05 Python
用matplotlib画等高线图详解
Dec 14 Python
浅析Python 读取图像文件的性能对比
Mar 07 Python
python射线法判断检测点是否位于区域外接矩形内
Jun 28 Python
解决django 新增加用户信息出现错误的问题
Jul 28 Python
Python正则表达式急速入门(小结)
Dec 16 Python
在Tensorflow中实现梯度下降法更新参数值
Jan 23 Python
基于Python3读写INI配置文件过程解析
Jul 23 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
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
Yii 2.0如何使用页面缓存方法示例
2017/05/23 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
js event事件的传递与冒泡处理
2009/12/06 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
微信小程序wx:for循环的实例详解
2018/10/07 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
详解Python3定时器任务代码
2019/09/23 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
浅析rem和em和px vh vw和% 移动端长度单位
2016/04/28 HTML / CSS
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
机电专业体育教师求职信
2013/09/21 职场文书
工作交流会欢迎词
2014/01/12 职场文书
安全在我心中演讲稿
2014/09/01 职场文书
校车司机安全责任书
2015/05/11 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript
Python的property属性详细讲解
2022/04/11 Python
react中useState使用:如何实现在当前表格直接更改数据
2022/08/05 Javascript