iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
0
Modern Web

From Django 1.11 to Django 2.1 系列 第 8

Day8 : 創建管理員 - Admin

Day6 的介紹,我們已經知道要怎麼去創建一個資料庫,並告訴 Django 去追蹤它的變化,並將相對應的變化記錄起來

實際上,它已經存在於我們的資料庫了,只是你還沒有看到它,就算你看到了,它現在裡面也是空的 ^^"

蛤... 真的這麼不相信我嗎?

那只好先帶你去會會它,以免讓你認為我在欺騙你們^^"

在進去之前,我們要先創建一個管理者(superuser),這樣我們才能夠進到該介面
python manage.py createsuper

(ithome_enve) C:\Users\User\Desktop\ithome\ithome>python manage.py createsuperuser
使用者名稱 (leave blank to use 'bxchen'): ithome
電子信箱: ithome@example.com
Password:
Password (again):
這個密碼過短。請至少使用 8 個字元。
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

只要照著它所要求的去填入即可,密碼有規定要超過8個字元,這樣比較安全! 我只是方便起見,好孩子不要亂學 ^^"

建立完之後便能夠進到管理者的介面囉! 在這之前 不要忘了 python manage.py runserver

在打開網頁後,別忘了要將網址後方加入 /admin ,之後你就會看見這個熟悉的介面
https://ithelp.ithome.com.tw/upload/images/20181008/201118290OW96LXQXi.jpg

輸入剛剛所設定好的帳號密碼後,就會看到下方的介面
https://ithelp.ithome.com.tw/upload/images/20181008/20111829sITQ6wudP7.jpg

這時候你就會想 : 明明就沒有資料庫阿,哪來的資料庫,你果然在騙人!

慢著 ^^" 回來~ 我真的沒有騙你

vendor 資料庫是真的存在的,但是如果我們沒有跟admin註冊說要顯示 vendor,所以沒有看到它是很正常的事情

為了讓創建的models顯示在資料庫上,我們要去修改 admin.py 的內容
打開 vendor app 底下的 admin.py,並將它修改成如下,要記得import Vendor 及 Food 唷!

from django.contrib import admin

from .models import Vendor, Food

# Register your models here.
admin.site.register(Vendor)
admin.site.register(Food)

修改完並儲存之後,再去看一次網站

https://ithelp.ithome.com.tw/upload/images/20181008/20111829baksVyq8kY.jpg

它們就活生生的蹦上來了 (恭喜老爺恭賀夫人

其實你也可以透過這介面去新增資料,但是這個太容易了,我相信對大家來說這不是問題

Vendors 在新增欄位的時候,要求輸入的形式都跟 Day6 我們所設計的一樣
https://ithelp.ithome.com.tw/upload/images/20181008/20111829A55fQC8orW.jpg

此外,比較特別的就是 Foods 的新增欄位中,有下拉式的選單,不過因為目前我們沒有任何攤販,所以食物當然也對應不到任何人囉
https://ithelp.ithome.com.tw/upload/images/20181008/201118291GoyZukfmm.jpg

今天差不多講到這,原本今天要講 Shell 的,但是講著講著就偏離掉了 哈哈
無妨~ 至少你不會再去懷疑資料庫是不是真的存在了 ^^"

哪裡有精神時光屋,不要忘記算我一份 From BY


上一篇
Day7 : 探討 INSTALLED_APPS
下一篇
Day9 : 使用 Shell 創建資料
系列文
From Django 1.11 to Django 2.1 30

1 則留言

0
wleejan982
iT邦新手 5 級 ‧ 2019-07-22 10:25:24

Q:很抱歉,想請問下,無法運用設定帳密來登入,請問要如何解決?

操作到這邊就無法在進行下階段-->建立完之後便能夠進到管理者的介面囉! 在這之前 不要忘了: python manage.py runserver。

login頁面是有的,但是我打上帳號密碼後,就完全再也登入不了,起初以為是我打錯密碼,但經過三次驗證(再次開新project三次,也補足超過8位數密碼,但卻一樣狀況"無法登入"情形!!!),一樣無法解決此問題。

**錯誤/各種訊息呈現: **

1./admin畫面呈現文字: 請輸入正確的工作人員使用者名稱及密碼。請注意兩者皆區分大小寫。
2.登入後cmd給予的錯誤資訊:
[22/Jul/2019 10:09:10] "GET /admin/login/?next=/admin/ HTTP/1.1" 200 1828
[22/Jul/2019 10:09:26] "POST /admin/login/?next=/admin/ HTTP/1.1" 200 1987
3.資料夾: (ithome_enve) C:\Users\GeorgiaWang\Documents\ithome> ---> 只能運用虛擬環境才登入http://127.0.0.1:8000/admin/ 中。

ps: (下文有詳細解釋)

3.-> 首先我file夾位置,ithome>ithome_enve> == (ithome_enve) C:\Users\GeorgiaWang\Documents\ithome>,成功登入login首頁。
再來,運用python manage.py createsuper設置好密碼,打上帳號密碼後就狂出現1.->相關錯誤訊息。

然後我詳細依依對過我內容,也沒有明顯錯誤,只有上文與版主無類似地方,顯示給版主過目。內文資訊不多,請指教、我經驗不足大力鞭策,謝謝。
以上!!!


(已解決) 我帳號登入錯誤,抱歉打擾了QWQ

我要留言

立即登入留言