跳轉至

建立 2026-09-17 更新 2026-09-17

Django Admin

Django Admin 是內建的資料管理後台,只要把 Model 註冊進去,就能自動產生新增、修改、刪除、搜尋、篩選的介面,不需要自己刻一套後台系統。這也是 Django「Batteries included」哲學的代表功能之一:多數框架要另外裝套件才有的後台管理,Django 內建就有。

官方文件:The Django admin site

使用前的準備:建立管理員帳號

後台需要一組管理員(superuser)帳號才能登入:

python manage.py createsuperuser

基本用法:註冊 Model

在 App 的 admin.py 中註冊 Model,只需要一行程式碼:

# admin.py
from django.contrib import admin
from myapp.models import Author

admin.site.register(Author)

設定完成、啟動開發伺服器(python manage.py runserver)後,用剛才建立的帳號密碼登入 http://127.0.0.1:8000/admin,就能看到 Author 出現在後台,可以直接新增、修改、刪除資料。

自訂顯示方式:ModelAdmin

預設的後台介面很陽春(列表只顯示物件的字串表示法)。要客製顯示的欄位、搜尋框、篩選器等,需要另外定義一個 ModelAdmin 類別,並在註冊時一併指定:

# admin.py
from django.contrib import admin
from myapp.models import Post


class PostAdmin(admin.ModelAdmin):
    list_display = ("title", "author", "created_at")  # 列表要顯示的欄位
    list_filter = ("author",)                          # 側邊篩選欄位
    search_fields = ("title", "content")                # 可搜尋的欄位

admin.site.register(Post, PostAdmin)

常用的 ModelAdmin 屬性:

屬性 作用
list_display 列表頁要顯示哪些欄位(預設只顯示物件本身)
list_filter 側邊要提供哪些欄位的篩選器
search_fields 開啟搜尋框,並指定要搜尋哪些欄位
ordering 列表預設的排序方式

下一步

後台管理只給管理員使用;如果要讓一般使用者也能註冊、登入網站,請看 使用者驗證