Admin

2020-06-15 17:41 更新

Admin

大部份網(wǎng)站都設(shè)計(jì)有管理后臺(tái),讓管理者方便新增或異動(dòng)網(wǎng)站內(nèi)容。

而這樣的管理后臺(tái),Django 也有內(nèi)建一個(gè) App -- Django Admin 。只需要稍微設(shè)定,網(wǎng)站就能擁有管理后臺(tái)功能。

前一章,我們學(xué)會(huì)如何使用 Django Shell 和 QuerySet API ,對(duì) Post 新增、修改及刪除。而現(xiàn)在,我們要利用 Django Admin ,來(lái)達(dá)成類似的資料庫(kù)操作。

完成本章后,你會(huì)瞭解如何設(shè)定 Django Admin,并使用 Django 管理后臺(tái),完成 Post 的新增、修改及刪除。

設(shè)定管理后臺(tái)

將 Django admin 加入 INSTALLED_APPS

后臺(tái)管理的功能 Django 已預(yù)設(shè)開(kāi)啟。因此,設(shè)定檔中 的 INSTALLED_APPS裡,已經(jīng)有 django.contrib.admin 這個(gè) app :

# mysite/settings.py

INSTALLED_APPS = (
    'django.contrib.admin',
    ...
)

當(dāng)你在同步資料庫(kù)時(shí),也會(huì)建立需要的資料表及欄位。

設(shè)定管理后臺(tái)的 URL

為了讓你可以從瀏覽器進(jìn)入管理后臺(tái),我們需要設(shè)定對(duì)應(yīng)的 urls 。

我們將管理后臺(tái)的網(wǎng)址設(shè)定為 /admin/。確認(rèn) mysite/urls.py 中的 urlpatterns 包含下面這行:

url(r'^admin/', include(admin.site.urls)),

建立 superuser

要使用 Django 的管理后臺(tái),需要一個(gè)管理員帳號(hào)。

使用 createsuperuser 這個(gè)指令,建立一個(gè) 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.

輸入帳號(hào)、Email、密碼等資訊,就完成 superuser 的新增了。

注冊(cè) Model class

最后,我們需要在讓 Django 知道,有哪些 Model 需要管理后臺(tái)。

修改 trips app 裡的 admin.py,并注冊(cè) Post 這個(gè) Model:

# trips/admin.py

from django.contrib import admin
from trips.models import Post

admin.site.register(Post)

使用管理后臺(tái)

進(jìn)入管理后臺(tái)

連至 http://127.0.0.1:8000/admin,可以看到管理后臺(tái)的登入頁(yè)面:

請(qǐng)輸入你剛創(chuàng)立的 superuser 帳號(hào)密碼,進(jìn)入管理后臺(tái):

第一個(gè)區(qū)塊 Authentication and Authorization ,可以管理使用者 ( User ) 和 群組 ( Group ) ; 第二個(gè) Trips 區(qū)塊裡,則可以看到剛剛設(shè)定的 Post Model。在這裡可以執(zhí)行 Post 的新增、修改、刪除...等。

第一個(gè)區(qū)塊 Authentication and Authorization ,可以管理使用者 ( User ) 和 群組 ( Group ) 使用者管理功能; 第二個(gè) Trips 區(qū)塊裡,則可以看到剛剛設(shè)定完成的 Post Model。在這裡可以執(zhí)行 Post 的新增、修改、刪除...等。

新增一個(gè) Post

現(xiàn)在試著建立一個(gè)新的 Post 看看:

( 建議可以多新增幾筆 Post ,在接下來(lái)的章節(jié)會(huì)用到。 )

小結(jié)

你應(yīng)該己經(jīng)學(xué)會(huì):

  • 設(shè)定 Django Admin
  • 建立 superuser
  • 注冊(cè) Model 至 Admin新學(xué)到的指令

本章新學(xué)到的指令

指令 說(shuō)明
python manage.py createsuperuser 新增 Django 管理者帳號(hào)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)