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的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 Python
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 Python
简单了解什么是神经网络
Dec 23 Python
python利用socketserver实现并发套接字功能
Jan 26 Python
PyCharm配置mongo插件的方法
Nov 30 Python
python opencv摄像头的简单应用
Jun 06 Python
Python pandas自定义函数的使用方法示例
Nov 20 Python
Python:slice与indices的用法
Nov 25 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
Keras 切换后端方式(Theano和TensorFlow)
Jun 19 Python
Python如何输出百分比
Jul 31 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过滤★等特殊符号的正则
2014/01/27 PHP
详解json在php中的应用
2018/09/30 PHP
网页自动跳转代码收集
2009/09/27 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
使用Angular自定义字段校验指令的方法示例
2019/02/01 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
linux 下实现python多版本安装实践
2014/11/18 Python
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
python 获取网页编码方式实现代码
2017/03/11 Python
Python标准库之collections包的使用教程
2017/04/27 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
Python如何执行系统命令
2020/09/23 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
2020/12/16 Python
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
代理班主任的自我评价
2014/02/04 职场文书
奠基仪式主持词
2014/03/20 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
小学教师年度个人总结
2015/02/05 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL