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

同樣的我們也可以添加自己的指令。
更多更詳細(xì)請(qǐng)看官方文檔:https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/
創(chuàng)建一個(gè)Django項(xiàng)目
$ 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注冊(cè)到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ù)庫(kù)查詢到的model set
# 更新status狀態(tài)為p,在此處就是Article
queryset.update(status='p')
# 此指令的名稱
make_article_published.short_description = '更改狀態(tài)為發(fā)布'
#將Article注冊(cè)到后臺(tái)
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
# 后臺(tái)列表展示的字段
list_display = ('title', 'status')
# 動(dòng)作集合
actions = [make_article_published]
啟動(dòng)服務(wù)
1.首先同步數(shù)據(jù)庫(kù)
$ python3 manage.py makemigrations $ python3 manage.py migrate
2.創(chuàng)建超級(jí)用戶
$ python3 manage.py createsuperuser
按照提示操作即可
3.啟動(dòng)服務(wù)
$ python3 manage.py runserver
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
- Python Django給admin添加Action的方法實(shí)例詳解
- Django admin實(shí)現(xiàn)圖書管理系統(tǒng)菜鳥級(jí)教程完整實(shí)例
- 使用django-suit為django 1.7 admin后臺(tái)添加模板
- Django admin美化插件suit使用示例
- Django Admin實(shí)現(xiàn)上傳圖片校驗(yàn)功能
- Django Admin實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)的示例代碼(省市區(qū))
- django admin 后臺(tái)實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)的示例代碼
- Pycharm 創(chuàng)建 Django admin 用戶名和密碼的實(shí)例
相關(guān)文章
python基于paramiko將文件上傳到服務(wù)器代碼實(shí)現(xiàn)
這篇文章主要介紹了python基于paramiko將文件上傳到服務(wù)器代碼實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
python監(jiān)控nginx端口和進(jìn)程狀態(tài)
這篇文章主要為大家詳細(xì)介紹了python監(jiān)控nginx端口和進(jìn)程狀態(tài),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
利用Python半自動(dòng)化生成Nessus報(bào)告的方法
這篇文章主要介紹了利用Python半自動(dòng)化生成Nessus報(bào)告的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
通過實(shí)例了解Python str()和repr()的區(qū)別
這篇文章主要介紹了通過實(shí)例了解Python str()和repr()的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
Python實(shí)現(xiàn)感知機(jī)(PLA)算法
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)感知機(jī)(PLA)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
pycharm創(chuàng)建臨時(shí)文件scatch file的方法詳解
JetBrains PyCharm是一種Python IDE,其帶有一整套可以幫助用戶在使用Python語言開發(fā)時(shí)提高其效率的工具,這篇文章主要介紹了pycharm創(chuàng)建臨時(shí)文件scatch file的方法,需要的朋友可以參考下2024-07-07
python實(shí)現(xiàn)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02

