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中的数据类型
May 05 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Python 列表(List) 的三种遍历方法实例 详解
Apr 15 Python
python实现简单点对点(p2p)聊天
Sep 13 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
Python文件操作基本流程代码实例
Dec 11 Python
一道python走迷宫算法题
Jan 22 Python
详解Python做一个名片管理系统
Mar 14 Python
Kears+Opencv实现简单人脸识别
Aug 28 Python
Django利用AJAX技术实现博文实时搜索
May 06 Python
OpenCV全景图像拼接的实现示例
Jun 05 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把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
jquery 字符串切割函数substring的用法说明
2014/02/11 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
js控制页面的全屏展示和退出全屏显示的方法
2015/03/10 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
js实现图片区域可点击大小随意改变(适用移动端)代码实例
2019/09/11 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
python socket 超时设置 errno 10054
2014/07/01 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
Python实现京东秒杀功能代码
2019/05/16 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
python实现高斯(Gauss)迭代法的例子
2019/11/20 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
2020/04/14 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
Python list和str互转的实现示例
2020/11/16 Python
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
销售岗位职责范本
2014/06/12 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
市场营销工作计划书
2014/09/15 职场文书
社团个人总结范文
2015/03/05 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
JS中如何优雅的使用async await详解
2021/10/05 Javascript
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers