Django給admin添加Action的步驟詳解
前言
django 的 admin 是個非常方便的admin portal,可以根據(jù)自己的需要重寫.
在使用Django自帶的admin后臺的時候,他提供了一些默認(rèn)的指令可以對數(shù)據(jù)進(jìn)行操作, 比如批量刪除,修改等

同樣的我們也可以添加自己的指令。
更多更詳細(xì)請看官方文檔:https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/
創(chuàng)建一個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):
# 文章狀態(tài),類似枚舉
STATUS_CHOICES = (
('d', '草稿'),
('p', '發(fā)布'),
)
# 標(biāo)題
title = models.CharField(max_length=30)
# 內(nèi)容
body = models.TextField()
# 狀態(tài)
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
# 指令處理函數(shù),參數(shù)固定寫法
def make_article_published(modeladmin, request, queryset):
# queryset 是從數(shù)據(jù)庫查詢到的model set
# 更新status狀態(tài)為p,在此處就是Article
queryset.update(status='p')
# 此指令的名稱
make_article_published.short_description = '更改狀態(tài)為發(fā)布'
#將Article注冊到后臺
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
# 后臺列表展示的字段
list_display = ('title', 'status')
# 動作集合
actions = [make_article_published]
啟動服務(wù)
1.首先同步數(shù)據(jù)庫
$ python3 manage.py makemigrations $ python3 manage.py migrate
2.創(chuàng)建超級用戶
$ python3 manage.py createsuperuser
按照提示操作即可
3.啟動服務(wù)
$ python3 manage.py runserver
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
相關(guān)文章
python中numpy.empty()函數(shù)實例講解
在本篇文章里小編給大家分享的是一篇關(guān)于python中numpy.empty()函數(shù)實例講解內(nèi)容,對此有興趣的朋友們可以學(xué)習(xí)下。2021-02-02
YOLOv5車牌識別實戰(zhàn)教程(五)字符分割與識別
這篇文章主要介紹了YOLOv5車牌識別實戰(zhàn)教程(五)字符分割與識別,在這個教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識別,幫助你快速掌握YOLOv5車牌識別技能,需要的朋友可以參考下2023-04-04

