Django後台admin的使用詳解

2022-09-29 17:57:13 字數 1916 閱讀 7897

簡述

django的admin可以提供乙個強大的後台管理功能,可以在web介面對資料庫進行操作,我們需要修改admin.py將要操作的資料表註冊到後台管理中

建立資料表:

為了便於演示,我們在models.py中建立一張img資料表規則

圖中 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 #啟動服務

開啟瀏覽器,訪問 :8000/admin

輸入設定的賬號密碼,進入介面

預設的功能可以對錶進行簡單的增刪改查,如果需要批量更新之類的操作,則需要定製相應動作

自定義內容顯示:

我們選擇進入我們建立的表的介面的時候,預設顯示的內容是object

可以在models.py中的相應表寫下定義__str__的字段

效果如下

預設顯示的內容只有乙個,我們可以通過定義modeladmin中的list_display來修改它:

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)

點選一條資料後,將預設顯示每個字段不是乙個autofield並且editable=true在單個字段集中具有與模型中定義的字段相同的順序。

我們可以定義modeladmin中的fields或exclude來修改它:

class imgadmin(admin.modeladmin):

list_displebjjpay = ('title','summary','file')

fields = ('title',)

exclude跟fields相反

自定義動作

預設動作只有刪除一項

我們可以通過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] #繫結動作

本文標題: django後台admin的使用詳解

本文位址: /jiaoben/python/264816.html

django自帶admin後台使用者管理

應用 admin.py檔案 register your models here.class usersadmin admin.modeladmin 要展示的字段 list display id username age email addtime list editable 設定預設可編輯字段 li...

Django框架admin後台管理和使用者端靜態檔案

目錄 二 使用者上傳的靜態檔案的展示 三 防盜煉 django自帶admin元件,也可以用第三方的xadmin元件 有很多bug 1.去應用下的admin.py中註冊你想要管理的模型類。2.要想登陸到後台管理,必須是超級使用者,需要管理員使用者root許可權。所以需要用createsuperuser...

Django小試身手之管理頁admin使用

高可擴充套件性 向後相容 低耦合,高內聚 專案的入口 manage.py 專案的配置 test1 專案的開發 自定義應用 from django.contrib import admin register your models here.from django.contrib import adm...