乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      第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)建后臺(tái)管理界面。管理界面不是為網(wǎng)站的訪問者準(zhǔn)備,而是為站點(diǎn)管理者準(zhǔn)備的。有了這個(gè)功能,站點(diǎn)管理人員方便使用管理系統(tǒng)來對(duì)數(shù)據(jù)進(jìn)行操作。

      運(yùn)行 Django Admin

      首先我們上次我們已經(jīng)創(chuàng)建了 TestProject 項(xiàng)目,并且我們?cè)谶@個(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',]

      配置訪問路徑

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

      # 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)行登陸。

      初始化超級(jí)管理員

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

      初始化

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

      主頁

      管理應(yīng)用

      在上面登陸成功后,我們?cè)诠芾眄撝豢吹接脩艉徒M相關(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
      # 注冊(cè)兩個(gè)模型admin.site.register(Question)admin.site.register(Choice)

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

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

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

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

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

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

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

      總結(jié)

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

      參考

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

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


      系列文章

      第122天:Flask 單元測(cè)試

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

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

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多