日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

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

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

運行 Django Admin

首先我們上次我們已經(jīng)創(chuàng)建了 TestProject 項目,并且我們在這個項目中已經(jīng)創(chuàng)建了 polls 應(yīng)用,并在該應(yīng)用下我們創(chuàng)建了兩個 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ù)這個項目進行修改,并運行 Django Admin 管理工具。

修改配置文件

在項目 TestProject 目錄下找到 settings.py 文件 ,打開編輯 INSTALLED_APPS 并增加 django.contrib.admin 等相關(guān)項,django.contrib 是一套龐大的功能集,它是 Django 基本代碼的組成部分,而 Django 自動管理工具是 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',]

配置訪問路徑

在上面目錄同級,有個 urls.py 文件,用來配置管理工具的訪問路徑。當然通常我們在生成項目時會在 urls.py 中自動設(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 路徑]

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

登陸

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

初始化超級管理員

Django admin 管理工具的用戶需要通過命令來初始化,回到項目根目錄,執(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
# 注冊兩個模型admin.site.register(Question)admin.site.register(Choice)

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

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

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

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

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

另外頁面的底部提供了幾個選項:

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

總結(jié)

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

參考

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

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


系列文章

第122天:Flask 單元測試

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多