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 字典(Dictionary)操作详解
Mar 11 Python
python使用smtplib模块通过gmail实现邮件发送的方法
May 08 Python
使用python3+xlrd解析Excel的实例
May 04 Python
Python使用Pickle库实现读写序列操作示例
Jun 15 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
python+unittest+requests实现接口自动化的方法
Nov 29 Python
在Python 中同一个类两个函数间变量的调用方法
Jan 31 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
Mar 09 Python
Python字符串hashlib加密模块使用案例
Mar 10 Python
Python requests模块session代码实例
Apr 14 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
python实现三次密码验证的示例
Apr 29 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
JAVA/JSP学习系列之七
2006/10/09 PHP
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP图片上传代码
2013/11/04 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
实例分析10个PHP常见安全问题
2019/07/09 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
微信小程序实现上传照片代码实例解析
2020/08/04 Javascript
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python函数中不定长参数的写法
2019/02/13 Python
Python线程指南分享
2019/11/19 Python
python求绝对值的三种方法小结
2019/12/04 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
学院领导推荐信
2013/10/30 职场文书
出国留学介绍信
2014/01/13 职场文书
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫