Django後臺admin的使用

簡述:

Django的admin能夠提供一個強大的後臺管理功能,能夠在web界面對數據庫進行操做,咱們須要修改admin.py將要操做的數據表註冊到後臺管理中python

建立數據表:

爲了便於演示,咱們在models.py中建立一張img數據表規則web

clipboard.png

圖中 verbo_name 是在admin界面顯示錶字段的名稱,定義的class Meta中的verbo_name是在admin界面顯示的表名數據庫

修改admin.py文件

from django.contrib import admin
from app1 import models
# Register your models here.

admin.site.register(models.img)    #將表在admin中註冊

啓動服務,進入界面

python manage.py makemigrations #生成建立數據表py文件
python manage.py migrate #執行py文件,更新數據庫
python manage.py runserver #啓動服務

打開瀏覽器,訪問http://127.0.0.1:8000/admindjango

clipboard.png
輸入設置的帳號密碼,進入界面瀏覽器

clipboard.png
默認的功能能夠對錶進行簡單的增刪改查,若是須要批量更新之類的操做,則須要定製相應動做app

自定義內容顯示:

咱們選擇進入咱們建立的表的界面的時候,默認顯示的內容是objectspa

clipboard.png
能夠在models.py中的相應表寫下定義__str__的字段code

clipboard.png

效果以下server

clipboard.png

默認顯示的內容只有一個,咱們能夠經過定義ModelAdmin中的list_display來修改它:ip

from django.contrib import admin
from app1.models import img
# Register your models here.

class imgAdmin(admin.ModelAdmin):
    list_display = ('title','summary','file')
    

admin.site.register(img,imgAdmin)

clipboard.png

點擊一條數據後,將默認顯示每一個字段不是一個AutoField而且editable=True在單個字段集中具備與模型中定義的字段相同的順序。

clipboard.png
咱們能夠定義ModelAdmin中的fields或exclude來修改它:

class imgAdmin(admin.ModelAdmin):
    list_display = ('title','summary','file')
    fields = ('title',)

clipboard.png

exclude跟fields相反

自定義動做

默認動做只有刪除一項

clipboard.png

咱們能夠經過ModelAdmin自定義

def change_up(modeladmin, request, queryset):  #定義動做
    queryset.update(stat='1')
change_up.short_description = "up" #重寫動做顯示名稱

def change_down(modeladmin, request, queryset):
    queryset.update(stat='0')
change_down.short_description = "down"



class imgAdmin(admin.ModelAdmin):
    list_display = ('title','summary','file','stat')
    fields = ('title',)
    actions = [change_up,change_down] #綁定動做

clipboard.png

相關文章
相關標籤/搜索