Django4.0 管理頁面

2022-03-29 16:10 更新

為你的員工或客戶生成一個(gè)用戶添加,修改和刪除內(nèi)容的后臺(tái)是一項(xiàng)缺乏創(chuàng)造性和乏味的工作。因此,Django 全自動(dòng)地根據(jù)模型創(chuàng)建后臺(tái)界面。

Django 產(chǎn)生于一個(gè)公眾頁面和內(nèi)容發(fā)布者頁面完全分離的新聞?lì)愓军c(diǎn)的開發(fā)過程中。站點(diǎn)管理人員使用管理系統(tǒng)來添加新聞、事件和體育時(shí)訊等,這些添加的內(nèi)容被顯示在公眾頁面上。Django 通過為站點(diǎn)管理人員創(chuàng)建統(tǒng)一的內(nèi)容編輯界面解決了這個(gè)問題。

管理界面不是為了網(wǎng)站的訪問者,而是為管理者準(zhǔn)備的。

創(chuàng)建一個(gè)管理員賬號(hào)

首先,我們得創(chuàng)建一個(gè)能登錄管理頁面的用戶。請(qǐng)運(yùn)行下面的命令:

...\> py manage.py createsuperuser

鍵入你想要使用的用戶名,然后按下回車鍵:

Username: admin

然后提示你輸入想要使用的郵件地址:

Email address: admin@example.com

最后一步是輸入密碼。你會(huì)被要求輸入兩次密碼,第二次的目的是為了確認(rèn)第一次輸入的確實(shí)是你想要的密碼。

Password: **********
Password (again): *********
Superuser created successfully.

啟動(dòng)開發(fā)服務(wù)器

Django 的管理界面默認(rèn)就是啟用的。讓我們啟動(dòng)開發(fā)服務(wù)器,看看它到底是什么樣的。
如果開發(fā)服務(wù)器未啟動(dòng),用以下命令啟動(dòng)它:

...\> py manage.py runserver

現(xiàn)在,打開瀏覽器,轉(zhuǎn)到你本地域名的 “/admin/” 目錄, -- 比如 ?http://127.0.0.1:8000/admin/ ?。你應(yīng)該會(huì)看見管理員登錄界面:

admin01

因?yàn)榉g功能默認(rèn)是開啟的,如果你設(shè)置了 ?LANGUAGE_CODE?,登錄界面將顯示你設(shè)置的語言(如果 Django 有相應(yīng)的翻譯)。

進(jìn)入管理站點(diǎn)頁面

現(xiàn)在,試著使用你在上一步中創(chuàng)建的超級(jí)用戶來登錄。然后你將會(huì)看到 Django 管理頁面的索引頁:

admin02

你將會(huì)看到幾種可編輯的內(nèi)容:組和用戶。它們是由 ?django.contrib.auth? 提供的,這是 Django 開發(fā)的認(rèn)證框架。

向管理頁面中加入投票應(yīng)用

但是我們的投票應(yīng)用在哪呢?它沒在索引頁面里顯示。
只需要再做一件事:我們得告訴管理,問題 ?Question對(duì)象需要一個(gè)后臺(tái)接口。打開 ?polls/admin.py? 文件,把它編輯成下面這樣:

from django.contrib import admin

from .models import Question

admin.site.register(Question)

體驗(yàn)便捷的管理功能

現(xiàn)在我們向管理頁面注冊(cè)了問題 Question 類。Django 知道它應(yīng)該被顯示在索引頁里:

admin03t

點(diǎn)擊 "Questions" ?,F(xiàn)在看到是問題 "Questions" 對(duì)象的列表 "change list" 。這個(gè)界面會(huì)顯示所有數(shù)據(jù)庫里的問題 Question 對(duì)象,你可以選擇一個(gè)來修改。這里現(xiàn)在有我們?cè)谏弦徊糠种袆?chuàng)建的 “What's up?” 問題。

admin04t

點(diǎn)擊 “What's up?” 來編輯這個(gè)問題(Question)對(duì)象:

admin05t

注意事項(xiàng):

  • 這個(gè)表單是從問題 ?Question模型中自動(dòng)生成的
  • 不同的字段類型(日期時(shí)間字段 ?DateTimeField ?、字符字段 ?CharField?)會(huì)生成對(duì)應(yīng)的 HTML 輸入控件。每個(gè)類型的字段都知道它們?cè)撊绾卧诠芾眄撁胬镲@示自己。
  • 每個(gè)日期時(shí)間字段 ?DateTimeField ?都有 JavaScript 寫的快捷按鈕。日期有轉(zhuǎn)到今天(Today)的快捷按鈕和一個(gè)彈出式日歷界面。時(shí)間有設(shè)為現(xiàn)在(Now)的快捷按鈕和一個(gè)列出常用時(shí)間的方便的彈出式列表。

頁面的底部提供了幾個(gè)選項(xiàng):

  • 保存(?Save?) - 保存改變,然后返回對(duì)象列表。
  • 保存并繼續(xù)編輯(?Save and continue editing?) - 保存改變,然后重新載入當(dāng)前對(duì)象的修改界面。
  • 保存并新增(?Save and add another?) - 保存改變,然后添加一個(gè)新的空對(duì)象并載入修改界面。
  • 刪除(?Delete?) - 顯示一個(gè)確認(rèn)刪除頁面。

通過點(diǎn)擊 “今天(Today)” 和 “現(xiàn)在(Now)” 按鈕改變 “發(fā)布日期(Date Published)”。然后點(diǎn)擊 “保存并繼續(xù)編輯(Save and add another)”按鈕。然后點(diǎn)擊右上角的 “歷史(History)”按鈕。你會(huì)看到一個(gè)列出了所有通過 Django 管理頁面對(duì)當(dāng)前對(duì)象進(jìn)行的改變的頁面,其中列出了時(shí)間戳和進(jìn)行修改操作的用戶名:

admin06t


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)