Django给admin添加Action的步骤详解


Posted in Python onMay 01, 2019

前言

django 的 admin 是个非常方便的admin portal,可以根据自己的需要重写.

在使用Django自带的admin后台的时候,他提供了一些默认的指令可以对数据进行操作, 比如批量删除,修改等

Django给admin添加Action的步骤详解

同样的我们也可以添加自己的指令。

更多更详细请看官方文档:https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/

创建一个Django项目

$ django-admin startproject DjangoActions
$ cd DjangoActions
$ python3 manage.py startapp mysite

添加model

打开mysite下的models.py

from django.db import models


class Article(models.Model):
 # 文章状态,类似枚举
 STATUS_CHOICES = (
  ('d', '草稿'),
  ('p', '发布'),
 )
 # 标题
 title = models.CharField(max_length=30)
 # 内容
 body = models.TextField()
 # 状态
 status = models.CharField(max_length=1, choices=STATUS_CHOICES, default='d')

 def __str__(self):
  return self.title

将Article注册到admin

打开mysite下的admin.py

from django.contrib import admin
from .models import Article


# 指令处理函数,参数固定写法
def make_article_published(modeladmin, request, queryset):
 # queryset 是从数据库查询到的model set
 # 更新status状态为p,在此处就是Article
 queryset.update(status='p')


# 此指令的名称
make_article_published.short_description = '更改状态为发布'


#将Article注册到后台
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
 # 后台列表展示的字段
 list_display = ('title', 'status')
 # 动作集合
 actions = [make_article_published]

启动服务

1.首先同步数据库

$ python3 manage.py makemigrations
$ python3 manage.py migrate

2.创建超级用户

$ python3 manage.py createsuperuser

按照提示操作即可

3.启动服务

$ python3 manage.py runserver

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python中字典(dict)和列表(list)的排序方法实例
Jun 16 Python
python在windows命令行下输出彩色文字的方法
Mar 19 Python
浅谈python迭代器
Nov 08 Python
python在ubuntu中的几种安装方法(小结)
Dec 08 Python
利用python实现微信头像加红色数字功能
Mar 26 Python
python 内置函数汇总详解
Sep 16 Python
使用python实现对元素的长截图功能
Nov 14 Python
Python3 mmap内存映射文件示例解析
Mar 23 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
python编写实现抽奖器
Sep 10 Python
python 使用tkinter+you-get实现视频下载器
Nov 17 Python
python自动化调用百度api解决验证码
Apr 13 Python
Django重置migrations文件的方法步骤
May 01 #Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 #Python
浅谈Python编程中3个常用的数据结构和算法
Apr 30 #Python
python通过paramiko复制远程文件及文件目录到本地
Apr 30 #Python
python实现定时压缩指定文件夹发送邮件
Dec 22 #Python
python定时复制远程文件夹中所有文件
Apr 30 #Python
python实现图片转字符小工具
Apr 30 #Python
You might like
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
javascript计时器详解
2015/02/28 Javascript
javascript实现倒计时并弹窗提示特效
2015/06/05 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
浅谈Angular 的变化检测的方法
2018/03/01 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
python中的__slots__使用示例
2015/02/26 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
python binascii 进制转换实例
2019/06/12 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
python中删除某个元素的方法解析
2019/11/05 Python
Python 中 -m 的典型用法、原理解析与发展演变
2019/11/11 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
电子信息专业自荐书
2014/02/04 职场文书
九九重阳节致辞
2015/07/31 职场文书
初一年级组工作总结
2015/08/12 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
心得体会该怎么写呢?
2019/06/27 职场文书
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server