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 性能优化方法小结
Mar 31 Python
Python3实现的简单验证码识别功能示例
May 02 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
解决python中使用plot画图,图不显示的问题
Jul 04 Python
python爬虫之urllib3的使用示例
Jul 09 Python
利用ctypes获取numpy数组的指针方法
Feb 12 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
python tkinter canvas 显示图片的示例
Jun 13 Python
python实现横向拼接图片
Mar 23 Python
keras小技巧——获取某一个网络层的输出方式
May 23 Python
matplotlib相关系统目录获取方式小结
Feb 03 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 06 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
一个目录遍历函数
2006/10/09 PHP
mysql建立外键
2006/11/25 PHP
解决MySQL中文输出变成问号的问题
2008/06/05 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
JavaScript中的类数组对象介绍
2014/12/30 Javascript
跟我学习javascript的作用域与作用域链
2015/11/19 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
vue 登录滑动验证实现代码
2018/08/24 Javascript
js实现导航跟随效果
2018/11/17 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
js实现弹窗效果
2020/08/09 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
仅用50行代码实现一个Python编写的计算器的教程
2015/04/17 Python
Python 功能和特点(新手必学)
2015/12/30 Python
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
python的dict判断key是否存在的方法
2020/12/09 Python
英国高街电视:High Street TV
2018/05/22 全球购物
泰国王权免税店官方网站:KingPower
2019/03/11 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
小学生美德少年事迹
2014/02/02 职场文书
贷款担保申请书
2014/05/20 职场文书
宣传口号大全
2014/06/16 职场文书
农民工讨薪标语
2014/06/26 职场文书
领导干部个人整改措施落实情况汇报
2014/10/29 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
一文带你探究MySQL中的NULL
2021/11/11 MySQL