Django給admin添加Action的步驟詳解
前言
django 的 admin 是個非常方便的admin portal,可以根據(jù)自己的需要重寫.
在使用Django自帶的admin后臺的時候,他提供了一些默認的指令可以對數(shù)據(jù)進行操作, 比如批量刪除,修改等
同樣的我們也可以添加自己的指令。
更多更詳細請看官方文檔: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ā)布'), ) # 標題 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é)習或者工作具有一定的參考學(xué)習價值,謝謝大家對腳本之家的支持。
相關(guān)文章
python中numpy.empty()函數(shù)實例講解
在本篇文章里小編給大家分享的是一篇關(guān)于python中numpy.empty()函數(shù)實例講解內(nèi)容,對此有興趣的朋友們可以學(xué)習下。2021-02-02YOLOv5車牌識別實戰(zhàn)教程(五)字符分割與識別
這篇文章主要介紹了YOLOv5車牌識別實戰(zhàn)教程(五)字符分割與識別,在這個教程中,我們將一步步教你如何使用YOLOv5進行車牌識別,幫助你快速掌握YOLOv5車牌識別技能,需要的朋友可以參考下2023-04-04