1. 程式人生 > >Django 框架 - Admin站點

Django 框架 - Admin站點

Admin 站點

Django 能夠根據定義的模型類自動地生成管理頁面。

使用 Django 的管理模組,需要按照如下步驟操作 :

  1. 管理介面本地化
  2. 建立管理員
  3. 註冊模型類
  4. 自定義管理頁面



調整列表頁展示

list_per_page=100  # 頁大小
actions_on_top=True  # “操作選項位置”
list_display=[模型欄位1,模型欄位2,...]  # 列表中的列
short_description  # 通過設定short_description屬性,可以設定在admin站點中顯示的列名
admin_order_field=
模型類欄位 # 方法列是不能排序的,如果需要排序需要為方法指定排序依據 # 無法直接訪問關聯物件的屬性或方法,可以在模型類中封裝方法,訪問關聯物件的成員。 list_filter=[] # 右側欄過濾器 search_fields=[] # 搜尋框



調整編輯頁展示

fields=[]  # 顯示欄位
fieldset=(
    ('組1標題',{'fields':('欄位1','欄位2')}),
    ('組2標題',{'fields':('欄位3','欄位4')}),
)  # 分組顯示
# 關聯物件
# 在一對多的關係中,可以在一端的編輯頁面中編輯多端的物件,嵌入多端物件的方式包括表格、塊兩種。
# 型別InlineModelAdmin:表示在模型的編輯頁面嵌入關聯模型的編輯。 # 子類TabularInline:以表格的形式嵌入。 # 子類StackedInline:以塊的形式嵌入。



調整站點資訊

Admin站點的名稱資訊也是可以自定義的。

  • admin.site.site_header 設定網站頁頭
  • admin.site.site_title 設定頁面標題
  • admin.site.index_title 設定首頁標語



上傳圖片

Django有提供檔案系統支援,在Admin站點中可以輕鬆上傳圖片。

使用Admin站點儲存圖片,需要安裝Python的圖片操作包

pip install Pillow

配置

預設情況下,Django會將上傳的圖片儲存在本地伺服器上,需要配置儲存的路徑。

我們可以將上傳的檔案儲存在靜態檔案目錄中,如我們之前設定的static_files目錄中在settings.py 檔案中新增如下上傳儲存目錄資訊

MEDIA_ROOT=os.path.join(BASE_DIR,"static_files/media")

為模型類新增ImageField欄位

我們為之前的BookInfo模型類新增一個ImageFiled

class BookInfo(models.Model):
    ...
    image = models.ImageField(upload_to='booktest', verbose_name='圖片', null=True)
  • upload_to 選項指明該欄位的圖片儲存在MEDIA_ROOT目錄中的哪個子目錄

進行資料庫遷移操作

python manage.py makemigrations
python manage.py migrate



使用Admin站點上傳圖片

進入Admin站點的圖書管理頁面,選擇一個圖書,能發現多出來一個上傳圖片的欄位