Django有一個內建的app叫admin,它是一個後台管理系統,提供資料的新增或管理功能,在瀏覽器開啟。
第一件事就是要先創立帳戶,輸入下面指令,之後會依序要求你鍵入帳戶資料:
>>> python3 manage.py creatsuperuser
創建成功後執行runserver,網址輸入http://127.0.0.1:8000/admin/ ,就可以看到下面的登入畫面了。
需要先編輯quiz/admin.py,才可以在後台系統進行資料的新增及變更:
from django.contrib import admin
from .models import Question, Choice
class 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:
點擊+add,畫面顯示可以同時新增問題及選項:
圖一:藉由list_display,可以選擇你要呈現的欄位。
圖二:filedsets是一個list,由two-tuples組成 [(name, field_options), ...],name是指該下圖這個區塊的名稱,我取None,所以介面就沒顯示了。