做展柜平時(shí)在哪里網(wǎng)站推廣全國(guó)十大教育機(jī)構(gòu)
掌握Django的管理后臺(tái)
引言
在前七天的教程中,我們介紹了Django的基礎(chǔ)架構(gòu)、模型、視圖、模板、URL路由、表單系統(tǒng)以及數(shù)據(jù)庫(kù)遷移。今天,我們將深入了解Django的管理后臺(tái),這是一個(gè)功能強(qiáng)大的內(nèi)置管理界面,用于創(chuàng)建、更新、查看和刪除數(shù)據(jù)。
Django管理后臺(tái)概述
Django管理后臺(tái)是一個(gè)動(dòng)態(tài)的、基于Web的界面,它允許管理員通過瀏覽器管理應(yīng)用程序的數(shù)據(jù)。它自動(dòng)根據(jù)模型定義生成管理界面。
啟用管理后臺(tái)
- 注冊(cè)模型:在你的
admin.py
文件中注冊(cè)模型,使其在管理后臺(tái)中可用。 # admin.pyfrom django.contrib import adminfrom .models import Bookadmin.site.register(Book)
- 創(chuàng)建超級(jí)用戶:運(yùn)行
createsuperuser
命令創(chuàng)建一個(gè)超級(jí)用戶賬號(hào)。 python manage.py createsuperuser
- 訪問管理后臺(tái):啟動(dòng)Django的開發(fā)服務(wù)器,并在瀏覽器中訪問
/admin/
路徑。
自定義管理后臺(tái)
Django允許你高度自定義管理后臺(tái),以滿足你的特定需求。
自定義模型顯示
- 定義模型Admin:在
admin.py
中定義模型的Admin類。 # admin.pyclass BookAdmin(admin.ModelAdmin): list_display = ('title', 'author', 'published_date') list_filter = ('author', 'published_date') search_fields = ('title', 'author')admin.site.register(Book, BookAdmin)
- 自定義列表顯示:通過
list_display
屬性,你可以控制對(duì)象列表頁(yè)面上顯示哪些字段。 - 自定義過濾器:通過
list_filter
屬性,你可以添加側(cè)邊過濾器。 - 添加搜索框:通過
search_fields
屬性,你可以添加搜索功能。
自定義表單界面
- 定義表單:在Admin類中定義一個(gè)表單。
from django import formsfrom .models import Bookclass BookForm(forms.ModelForm): class Meta: model = Book fields = '__all__'class BookAdmin(admin.ModelAdmin): form = BookForm
- 自定義字段:通過覆蓋表單類,你可以自定義字段的顯示和行為。
高級(jí)自定義
- 字段選項(xiàng):使用
fields
、fieldsets
和fieldclasses
等屬性來自定義表單布局。 - 重寫方法:重寫Admin類的方法,如
save_model
,來添加自定義邏輯。 - 添加自定義動(dòng)作:通過
actions
屬性,你可以添加自定義動(dòng)作到對(duì)象工具欄。
使用Django管理后臺(tái)
- 添加記錄:在管理后臺(tái)中,你可以輕松添加新的記錄。
- 編輯記錄:點(diǎn)擊列表視圖中的記錄,可以編輯其詳細(xì)信息。
- 刪除記錄:選擇一個(gè)或多個(gè)記錄,然后點(diǎn)擊刪除按鈕。
- 批量操作:選擇多個(gè)記錄并執(zhí)行批量操作,如批量刪除。
總結(jié)
在今天的教程中,我們學(xué)習(xí)了如何啟用和使用Django的管理后臺(tái),以及如何自定義管理后臺(tái)以滿足你的特定需求。我們介紹了如何注冊(cè)模型、創(chuàng)建超級(jí)用戶賬號(hào)、自定義模型顯示和表單界面,以及如何執(zhí)行基本的管理操作。