Django 框架 - Admin站點
阿新 • • 發佈:2018-12-24
Admin 站點
Django 能夠根據定義的模型類自動地生成管理頁面。
使用 Django 的管理模組,需要按照如下步驟操作 :
- 管理介面本地化
- 建立管理員
- 註冊模型類
- 自定義管理頁面
調整列表頁展示
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站點的圖書管理頁面,選擇一個圖書,能發現多出來一個上傳圖片的欄位