大部份網(wǎng)站都設(shè)計有管理后臺,讓管理者方便新增或異動網(wǎng)站內(nèi)容。
而這樣的管理后臺,Django 也有內(nèi)建一個 App -- Django Admin 。只需要稍微設(shè)定,網(wǎng)站就能擁有管理后臺功能。
前一章,我們學會如何使用 Django Shell 和 QuerySet API ,對 Post 新增、修改及刪除。而現(xiàn)在,我們要利用 Django Admin ,來達成類似的資料庫操作。
完成本章后,你會瞭解如何設(shè)定 Django Admin,并使用 Django 管理后臺,完成 Post 的新增、修改及刪除。
后臺管理的功能 Django 已預(yù)設(shè)開啟。因此,設(shè)定檔中 的 INSTALLED_APPS
裡,已經(jīng)有 django.contrib.admin
這個 app :
# mysite/settings.py
INSTALLED_APPS = (
'django.contrib.admin',
...
)
當你在同步資料庫時,也會建立需要的資料表及欄位。
為了讓你可以從瀏覽器進入管理后臺,我們需要設(shè)定對應(yīng)的 urls 。
我們將管理后臺的網(wǎng)址設(shè)定為 /admin/
。確認 mysite/urls.py
中的 urlpatterns
包含下面這行:
url(r'^admin/', include(admin.site.urls)),
要使用 Django 的管理后臺,需要一個管理員帳號。
使用 createsuperuser 這個指令,建立一個 superuser:
(VENV) ~/djangogirls/mysite$ python manage.py createsuperuser
Username (leave blank to use 'YOUR_NAME'):
Email address: your_name@yourmail.com
Password:
Password (again):
Superuser created successfully.
輸入帳號、Email、密碼等資訊,就完成 superuser 的新增了。
最后,我們需要在讓 Django 知道,有哪些 Model 需要管理后臺。
修改 trips app 裡的 admin.py,并注冊 Post 這個 Model:
# trips/admin.py
from django.contrib import admin
from trips.models import Post
admin.site.register(Post)
連至 http://127.0.0.1:8000/admin,可以看到管理后臺的登入頁面:
請輸入你剛創(chuàng)立的 superuser 帳號密碼,進入管理后臺:
第一個區(qū)塊 Authentication and Authorization ,可以管理使用者 ( User ) 和 群組 ( Group ) ; 第二個 Trips 區(qū)塊裡,則可以看到剛剛設(shè)定的 Post Model。在這裡可以執(zhí)行 Post 的新增、修改、刪除...等。
第一個區(qū)塊 Authentication and Authorization ,可以管理使用者 ( User ) 和 群組 ( Group ) 使用者管理功能; 第二個 Trips 區(qū)塊裡,則可以看到剛剛設(shè)定完成的 Post Model。在這裡可以執(zhí)行 Post 的新增、修改、刪除...等。
現(xiàn)在試著建立一個新的 Post 看看:
( 建議可以多新增幾筆 Post ,在接下來的章節(jié)會用到。 )
你應(yīng)該己經(jīng)學會:
本章新學到的指令
指令 | 說明 |
---|---|
python manage.py createsuperuser | 新增 Django 管理者帳號 |
更多建議: