小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

第123天: Web 開發(fā) Django 管理工具

 Python技術(shù) 2021-06-17

上次為大家介紹了 Django 的模型,通過模型就可以操作數(shù)據(jù)庫,從而就可以改變頁面的展示內(nèi)容,那問題來了,我們只能通過手動(dòng)編輯模型文件來配置模型嗎?當(dāng)然不是,Django 為我們提供了強(qiáng)大的工具,可以全自動(dòng)地根據(jù)模型創(chuàng)建后臺管理界面。管理界面不是為網(wǎng)站的訪問者準(zhǔn)備,而是為站點(diǎn)管理者準(zhǔn)備的。有了這個(gè)功能,站點(diǎn)管理人員方便使用管理系統(tǒng)來對數(shù)據(jù)進(jìn)行操作。

運(yùn)行 Django Admin

首先我們上次我們已經(jīng)創(chuàng)建了 TestProject 項(xiàng)目,并且我們在這個(gè)項(xiàng)目中已經(jīng)創(chuàng)建了 polls 應(yīng)用,并在該應(yīng)用下我們創(chuàng)建了兩個(gè) models:QuestionChoice。代碼如下所示:

# polls/models.py
from django.db import models
class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('發(fā)布日期')

class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)

接下來我們繼續(xù)這個(gè)項(xiàng)目進(jìn)行修改,并運(yùn)行 Django Admin 管理工具。

修改配置文件

在項(xiàng)目 TestProject 目錄下找到 settings.py 文件 ,打開編輯 INSTALLED_APPS 并增加 django.contrib.admin 等相關(guān)項(xiàng),django.contrib 是一套龐大的功能集,它是 Django 基本代碼的組成部分,而 Django 自動(dòng)管理工具是 django.contrib 的一部分。編輯后結(jié)果如下:

# TestProject/settings.py
INSTALLED_APPS = [ 'polls.apps.PollsConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles',]

配置訪問路徑

在上面目錄同級,有個(gè) urls.py 文件,用來配置管理工具的訪問路徑。當(dāng)然通常我們在生成項(xiàng)目時(shí)會在 urls.py 中自動(dòng)設(shè)置好,我們只需去掉注釋即可,請看如下代碼:

# TestProject/settings.py
from django.contrib import adminfrom django.urls import path, include
urlpatterns = [ path('polls/', include('polls.urls')), path('admin/', admin.site.urls), # 配置 /admin 路徑]

好了,一切都配置完成,下面我們就來運(yùn)行下 Django 管理工具,和以前一樣,先通過命令 python manage.py runserver 127.0.0.1:8080 啟動(dòng)本地 server,然后通過訪問 URL http://127.0.0.1:8080/admin 就可以跳轉(zhuǎn)到管理工具登陸頁面,如下圖所示:

登陸

已經(jīng)看到登陸頁面,接下來我們就需要輸入用戶名密碼進(jìn)行登陸。

初始化超級管理員

Django admin 管理工具的用戶需要通過命令來初始化,回到項(xiàng)目根目錄,執(zhí)行 python manage.py createsuperuser,然后根據(jù)命令提示完成初始化,操作結(jié)果如下圖:

初始化

用戶名密碼初始化完成,我們就可以在登陸頁面輸入,然后就能登陸到管理工具頁面,如下圖:

主頁

管理應(yīng)用

在上面登陸成功后,我們在管理頁只看到用戶和組相關(guān)的管理內(nèi)容,這是管理工具自帶的應(yīng)用,并沒有看到之前我們創(chuàng)建的 polls 應(yīng)用,接下來我們來介紹下用 Django admin 管理工具如何管理我們的應(yīng)用模型。首先修改 polls 應(yīng)用下的 admin.py 文件,增加如下代碼:

# polls/admin.py
from django.contrib import admin# 引入 polls 應(yīng)用下的 modelsfrom polls.models import Question,Choice
# 注冊兩個(gè)模型admin.site.register(Question)admin.site.register(Choice)

保存后退出,然后刷新主頁面,就能看到我們的 polls 應(yīng)用的模型管理界面了,如下圖所示:

然后我們就可以對 polls 應(yīng)用數(shù)據(jù)進(jìn)行操作了,點(diǎn)擊 Questions 模型對應(yīng)的增加按鈕,跳轉(zhuǎn)到數(shù)據(jù)新增頁面,并填寫一個(gè)問題描述以及設(shè)置發(fā)布日期,如下圖:

單擊保存后退出到列表頁面,并提示操作成功,然后我們用以前我們配置過的查詢投票問題的URL http://127.0.0.1:8080/polls/query 進(jìn)行查詢,就會查到新增加的這條投票問題,查詢結(jié)果如下圖所示:

是不是很快捷方便?當(dāng)然除了新增,還可以對數(shù)據(jù)進(jìn)行修改和刪除操作,你可以在列表中點(diǎn)擊要操作的模型名下對應(yīng)的記錄,然后就跳轉(zhuǎn)到修改和刪除頁面,如下圖所示:

這些操作都比較簡單,這里就不再詳細(xì)介紹,不過需要注意的是:
  1. 這個(gè)表單是從問題 Question 模型中自動(dòng)生成的
  2. 不同的字段類型(日期時(shí)間字段 DateTimeField 、字符字段 CharField)會生成對應(yīng)的 HTML 輸入控件。每個(gè)類型的字段都知道它們該如何在管理頁面里顯示自己。
  3. 每個(gè)日期時(shí)間字段 DateTimeField 都有 JavaScript 寫的快捷按鈕。日期有轉(zhuǎn)到今天的快捷按鈕和一個(gè)彈出式日歷界面。時(shí)間有設(shè)為現(xiàn)在的快捷按鈕和一個(gè)列出常用時(shí)間的方便的彈出式列表。

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

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

總結(jié)

本文為大家介紹了 Django Admin 管理工具,可以通過應(yīng)用的模型簡單配置,生成出對應(yīng)的后臺數(shù)據(jù)管理頁面,通過這個(gè)管理頁面,我們可以方便的管理數(shù)據(jù)。當(dāng)然除了簡單模型,它還可以管理復(fù)雜模型,并可以自定義表單以及樣式等,感興趣的朋友可以更深入的研究下。

參考

Django 中文官網(wǎng):https://docs./zh-hans/2.2

示例代碼:https://github.com/JustDoPython/python-100-day


系列文章

第122天:Flask 單元測試

第121天:機(jī)器學(xué)習(xí)之決策樹
從 0 學(xué)習(xí) Python 0 - 120 大合集總結(jié)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多