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函数式编程指南(二):从函数开始
Jun 24 Python
python编程嵌套函数实例代码
Feb 11 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 Python
对python3标准库httpclient的使用详解
Dec 18 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
python numpy 反转 reverse示例
Dec 04 Python
使用python接受tgam的脑波数据实例
Apr 09 Python
python中sklearn的pipeline模块实例详解
May 21 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 Python
Python return语句如何实现结果返回调用
Oct 15 Python
python实现ROA算子边缘检测算法
Apr 05 Python
用python删除文件夹中的重复图片(图片去重)
May 12 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
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
php HTML无刷新提交表单
2016/04/05 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
邮箱下拉自动填充选择示例代码附图
2014/04/03 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
2016/12/14 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
python requests post多层字典的方法
2018/12/27 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
python实现批量命名照片
2020/06/18 Python
Python创建自己的加密货币的示例
2021/03/01 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
教师求职自荐信
2014/03/09 职场文书
开业主持词
2014/03/21 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
公司员工离职证明书
2014/10/04 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL