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 相关文章推荐
python3生成随机数实例
Oct 20 Python
bpython 功能强大的Python shell
Feb 16 Python
Python 文件操作的详解及实例
Sep 18 Python
python matlibplot绘制多条曲线图
Feb 19 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
Dec 24 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
用Python实现最速下降法求极值的方法
Jul 10 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
python实现ping命令小程序
Dec 28 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 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
laravel 使用auth编写登录的方法
2019/09/30 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
BootStrap数据表格实例代码
2017/09/13 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
详解vue-router的Import异步加载模块问题的解决方案
2020/05/13 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python中的装饰器用法详解
2015/01/14 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
python实现log日志的示例代码
2018/04/28 Python
Python中的Django基本命令实例详解
2018/07/15 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
jupyter notebook清除输出方式
2020/04/10 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
如何在python中判断变量的类型
2020/07/29 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
经济与贸易专业应届生求职信
2013/11/19 职场文书
司考复习计划
2015/01/19 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android