天底下哪可能有這麼好的事情,管理室竟然不跟你收管理費?騙人的吧?
使用 Django 就能夠擁有自帶的強大管理介面,只需要建立好模型,就能獲得可用於新增、刪除、修改、查看的管理介面,除了能夠節省大量的開發時間,也能快速測試模型,現在就讓我們開始吧!
強大的 Django 自帶了一套使用者認證系統,我們將基於此使用者認證系統建立一個超級管理者,並透過這位超級管理者進行登入管理介面。
在多租戶架構下,我們將不同租戶的使用者認證系統進行了資料隔離,也就是說在不同租戶會擁有不同的使用者資料(包含超級使用者)。這裡我們要使用多租戶指令來分別建立租戶 example01 與 example02 的超級使用者:
# example01
docker exec -it --workdir /opt/app/web example_tenant_web \
python3.10 manage.py create_tenant_superuser \
--username=admin01 \
--schema=example01 \
--email=example01@example.com
...
Password:
Password (again):
Superuser created successfully.
# example02
docker exec -it --workdir /opt/app/web example_tenant_web \
python3.10 manage.py create_tenant_superuser \
--username=admin02 \
--schema=example02 \
--email=example02@example.com
...
Password:
Password (again):
Superuser created successfully.
輸入密碼與確認密碼後即可建立成功。
在網址列輸入 http://example01.localhost:8000/admin/ 即可看到管理介面的登入頁面
帳密輸入上面指定的 username 與設定的密碼
登入成功!
Product 模型哪去了?為何還沒有出現在管理介面上呢?
我們要將模型註冊至管理介面還需要一個步驟,細節藏在 admin.py 裡,先來看看它原本的內容:
# products/admin.py
from django.contrib import admin
# Register your models here.
我們的模型除了有 Product 還有 ProductCategory,在 admin 使用前要先從 models 進行匯入 :
# products/admin.py
from django.contrib import admin
from products.models import Product, ProductCategory # 匯入模型
# Register your models here.
註冊 model 至 admin
# products/admin.py
from django.contrib import admin
from products.models import Product, ProductCategory
# Register your models here.
admin.site.register(Product) # 註冊 Product 模型
admin.site.register(ProductCategory) # 註冊 ProductType 模型
Products 出現了!
點選商品後的 +Add,可以新增商品,來查看我們在『模型要買櫃,實作 Model 模型』章節設定的欄位
我們建立一個名為 3C 的商品分類,與義式咖啡機這項商品,並回到商品列表頁面。
商品資訊好像不夠詳細,無法一目了然,該如何是好呢?
下一章節『ModelAdmin,成為一名模型管理員』我們來繼續深入了解。