• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • python云端系統開發(Django)MOOC筆記整理week2(B)Django框架的MTV開發模式

    云端web系統的三個通用功能需求:
    數據組織,控制邏輯,web展示

    MTV開發模式

    M:Models模型——數據
    與數據組織相關的功能
    組織和存儲數據的方法和模式,與數據模型相關的操作

    T:Templates模板——樣式
    與表現相關的所有功能
    頁面展示風格和方式,與具體數據分離,用于定義表現風格

    V:views視圖——處理
    針對選取數據的功能
    選擇哪些數據用于展示,指定顯示模板,每個URL對應一個回調函數
    在這里插入圖片描述

    在這里插入圖片描述
    urls.py->路由:web框架的一部分
    models.py->針對某個app的模型(M)
    views.py->某個app的視圖(V)

    需求:
    返回一個HTML頁面,而不是字符串

    思路:
    建立模板(T),對應特定請求,返回模板頁面
    在這里插入圖片描述
    步驟2-1:
    新建hello2app應用

    \>python manage.py startapp hello2app
    

    步驟2-2:
    修改應用的views.py

    使用PYC01-HTMLJSDemo.html為返回頁面,修改views.py

    PYC01-HTMLJSDemo.html

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            function displayDate() {
                document.getElementById("time").innerHTML=Date();
            }
        </script>
    </head>
    <body>
        <p id="time">這里將顯示時間</p>
        <ul>
            <li>Python網絡爬蟲</li>
            <li>Python云端系統開發</li>
            <li>Python全棧能力</li>
        </ul>
        <button type="button" onclick="displayDate()">顯示時間</button>
     
    </body>
    </html>
    
    from django.shortcuts import render
    
    # Create your views here.
    def hello(requset):
        return render(requset,"PYC01-HTMLJSDemo.html")
    

    render()是一個打包函數,第一個參數是request,第二個參數是頁面

    步驟2-3
    創建本地路由urls.py

    from django.urls import path
    from . import views
    #.代表當前app
    #urlpatterns變量名固定
    urlpatterns = [
        path('',views.hello)
    ]
    

    步驟2-4:
    增加對本地路由的引用

    在全局路由文件中增加對本地應用路由文件的引用

    from django.contrib import admin
    from django.urls import include,path
    from helloapp import views
    
    urlpatterns = [
        path('index2/',include('hello2app.urls')),
        path('index/',views.hello),
        path('admin/', admin.site.urls),
    ]
    
    

    include()函數,用于引用其他路由文件

    步驟2-5:
    設置模板路徑

    設置模板路徑,讓Django框架找到模板所在目錄

     'DIRS': [os.path.join(BASE_DIR,'hello2app/templates')],
    

    指定templates所在路徑

    完成,如上一篇中的方法運行,
    打開瀏覽器,在原網址再輸入index2/,得到HTML界面,成功
    在這里插入圖片描述

    版權聲明:本文為qq_44621510原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_44621510/article/details/90349108

    智能推薦

    02 理解Django框架下MTV模式(2)

    1、概述 本篇用一個簡單的示例說明Django的MTV的使用模式,具體前期準備見01內容。 2、步驟1:新建工程 1)在電腦本地新建文件夾,命名Site。 2)打開cmd命令提示符窗口,切換路徑至該文件夾。 3)使用django-admin新建工程firstsite 說明:使用命令行后會在Site文件中自動創建,其中firstsite里面的文件結構為: 3、新建一個Django app 1)使用c...

    Django的MTV模式詳解

    參考博客:https://www.cnblogs.com/yuanchenqi/articles/7629939.html 一、MVC模型   Web服務器開發領域里著名的MVC模式。   所謂MVC就是把Web應用分為模型(M),控制器(C)和視圖(V)三層,他們之間以一種插件式的、松耦合的方式連接在一起。   模型負責業務對象與數據庫的映射(ORM),視圖負責與用戶的交互(頁面),控制器接受用...

    Django開發學習之Django-MTV

    MTV模型 Django的MTV分別代表: Django基本命令 1、下載Django: 2、創建一個django project 當前目錄下會生成mysite的工程,目錄結構如下: manage.py ----- Django項目里面的工具,通過它可以調用django shell和數據庫等。 settings.py ---- 包含了項目的默認設置,包括數據庫信息,調試標志以及其他一些工作的變量。...

    嵌入式系統開發:基于Linux學習筆記整理

    Linux命令操作部分 Ubuntu虛擬機使用 快照 拍攝快照是為了方便還原虛擬機,因為虛擬機(Virtual Machine)是虛擬出來的出來的一臺物理計算機,如果你在實驗中操作不當或者其他原因導致虛擬機無法正常使用,如果你之前打過快照(Snapshot),那么你就可以很方便的恢復到上一次打快照的地方 掛起虛擬機 掛起虛擬機的作用是為了下次更加方便虛擬機的打開,如果直接關閉虛擬機的話虛擬機就有可...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    猜你喜歡

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    精品国产乱码久久久久久蜜桃不卡