Python 入門指南

單元 33 - 客製化後台

~~學習進度表~~

Django 網站的資料庫後台網址為

admin/

想要利用後台管理頁面,就要先建立管理員帳號,首先在命令列輸入以下指令,接著就會出現輸入使用者帳號的提示選項

$ python manage.py createsuperuser
Username (leave blank to use 'kaiching'):

這裡我們輸入 admin 當示範,然後按下 Enter ,接下來輸入電子郵件信箱

$ python manage.py createsuperuser
Username (leave blank to use 'kaiching'): admin
Email address:

繼續輸入 admin@example.com 當示範,按下 Enter ,接著要輸入密碼

$ python manage.py createsuperuser
Username (leave blank to use 'kaiching'): admin
Email address: admin@example.com
Password:

輸入密碼後,會要求衝新輸入密碼一次

$ python manage.py createsuperuser
Username (leave blank to use 'kaiching'): admin
Email address: admin@example.com
Password: ********
Password (again):

再輸入一次密碼後按下 按下 Enter ,出現 Superuser created successfully. 及跳到下一個提示字元,就表示管理員帳號建立成功

$ python manage.py createsuperuser
Username (leave blank to use 'kaiching'): admin
Email address: admin@example.com
Password: ********
Password (again): ********
Superuser created successfully.
$

下面用瀏覽器連結到 /admin/ 網址,輸入剛剛建立的使用者 (user) 名稱及密碼,然後按下 登入

進入後台管理頁面如下

以上可以看到 Django 預設可以有使用者跟群組,倒是這裡我們不打算觸及非管理員之外的使用者。另外也可以看到並沒有資料庫物件 Sentence 的相關資訊,這是因為還需要額外設定 admin.py ,我們提供的程式如下

from django.contrib import admin

from .models import Sentence

class SentenceAdmin(admin.ModelAdmin):
  fields = ['original_text', 'encoding_text']

admin.site.register(Sentence, SentenceAdmin)

#《程式語言教學誌》的範例程式
# https://kaiching.org/
# 檔名:encode/admin.py
# 功能:示範利用 Python 設計 Django 專案
# 作者:張凱慶 */

請將原本 admin.py 的內容換成上述程式碼。

注意,最後要註冊 SentenceSentenceAdmin 兩個類別 (class)

admin.site.register(Sentence, SentenceAdmin)

重新整理 /admin/ 頁面,就會出現 Sentence 的部分了

點擊 Sentence 的連結,接著出現之前所有測試編碼的結果

如果點擊 新增 SENTENCE + 按鈕,就可以自行增加資料庫資料

另外預設也可以從動作來刪除資料

以上概略介紹了 Django 的後台頁面,下一步是?

中英文術語對照
類別class
使用者user
重點整理
1. Django 網站的資料庫後台網址為 admin/ ,如果要使用資料庫後台就要建立管理員帳號及設定 admin.py
問題與討論
1. 為什麼 Django 要提供資料庫的管理後台頁面?難道不能用命令列管理就好嗎?
2. 如果利用 Django 架站,正式上線後,是否要更換預設資料庫後台的網址 admin/
練習
1. 承接上一個單元的 hello 應用程式,替 hello 設定好資料庫後台頁面。
2. 承接上一個單元的 game 應用程式,替 game 設定好資料庫後台頁面。

上一頁 單元 32 - 設計網頁樣板
回 Python 入門指南首頁
下一頁 單元 34 - 下一步
回 Python 教材首頁
回程式語言教材首頁