iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0

Day 10 Django Admin,管理室不收管理費

天底下哪可能有這麼好的事情,管理室竟然不跟你收管理費?騙人的吧?
使用 Django 就能夠擁有自帶的強大管理介面,只需要建立好模型,就能獲得可用於新增、刪除、修改、查看的管理介面,除了能夠節省大量的開發時間,也能快速測試模型,現在就讓我們開始吧!

建立超級使用者帳號 createsuperuser

強大的 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/ 即可看到管理介面的登入頁面

https://ithelp.ithome.com.tw/upload/images/20220922/20151656JRgVCs5lPc.png

帳密輸入上面指定的 username 與設定的密碼

https://ithelp.ithome.com.tw/upload/images/20220922/20151656mwaKoqVdw4.png

登入成功!

註冊 Model 至管理介面

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 出現了!

https://ithelp.ithome.com.tw/upload/images/20220922/20151656GmgXKHr5an.png

點選商品後的 +Add,可以新增商品,來查看我們在『模型要買櫃,實作 Model 模型』章節設定的欄位

https://ithelp.ithome.com.tw/upload/images/20220922/20151656iNWjT3iO1i.png

我們建立一個名為 3C 的商品分類,與義式咖啡機這項商品,並回到商品列表頁面。

https://ithelp.ithome.com.tw/upload/images/20220922/20151656N2sjMCzshN.png

商品資訊好像不夠詳細,無法一目了然,該如何是好呢?

下一章節『ModelAdmin,成為一名模型管理員』我們來繼續深入了解。


上一篇
Day9 模型要買櫃,實作 Model 模型
下一篇
Day 11 ModelAdmin,成為一名模型管理員
系列文
全能住宅改造王,Django 多租戶架構的應用 —— 實作一個電商網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言