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