内容简介:Django给admin添加Action在使用Django自带的admin后台的时候,他提供了一些默认的指令可以对数据进行操作, 比如批量删除,修改等打开mysite下的models.py
Django给admin添加Action
在使用Django自带的admin后台的时候,他提供了一些默认的指令可以对数据进行操作, 比如批量删除,修改等 同样的我们也可以添加自己的指令。
创建一个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
以上所述就是小编给大家介绍的《35.Django给admin添加Action》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Art of Computer Programming, Volumes 1-3 Boxed Set
Donald E. Knuth / Addison-Wesley Professional / 1998-10-15 / USD 199.99
This multivolume work is widely recognized as the definitive description of classical computer science. The first three volumes have for decades been an invaluable resource in programming theory and p......一起来看看 《The Art of Computer Programming, Volumes 1-3 Boxed Set》 这本书的介绍吧!