(十一) Django - Admin

Django有一個內建的app叫admin,它是一個後台管理系統,提供資料的新增或管理功能,在瀏覽器開啟。

註冊帳戶

第一件事就是要先創立帳戶,輸入下面指令,之後會依序要求你鍵入帳戶資料:

1
>>> python3 manage.py creatsuperuser

創建成功後執行runserver,網址輸入http://127.0.0.1:8000/admin/ ,就可以看到下面的登入畫面了。
https://ithelp.ithome.com.tw/upload/images/20200912/20129725ubSRcBxdy8.png

Register Question

需要先編輯quiz/admin.py,才可以在後台系統進行資料的新增及變更:

1
from django.contrib import adminfrom .models import Question, Choiceclass ChoiceInline(admin.StackedInline): # class StachedInline    model = Choice    extra = 4 # 一個問題有四個選項class QuestionAdmin(admin.ModelAdmin):    list_display = ('id', 'question_text') # 詳細說明參考附錄圖一    fieldsets = [        (None, {'fields': ['question_text']}),    ] # 詳細說明參考附錄圖二    inlines = [ChoiceInline]admin.site.register(Question, QuestionAdmin)

admin的介面現在看得到quiz專案的Question:
https://ithelp.ithome.com.tw/upload/images/20200912/20129725Kz7Js0fULr.png
點擊+add,畫面顯示可以同時新增問題及選項:
https://ithelp.ithome.com.tw/upload/images/20200912/20129725y464HrCL9c.png

附錄:圖片

圖一:藉由list_display,可以選擇你要呈現的欄位。
https://ithelp.ithome.com.tw/upload/images/20200912/20129725MaAAbXLPHJ.png
圖二:filedsets是一個list,由two-tuples組成 [(name, field_options), …],name是指該下圖這個區塊的名稱,我取None,所以介面就沒顯示了。
https://ithelp.ithome.com.tw/upload/images/20200912/20129725Ho6iGT9ygV.png