iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 4
0
Modern Web

來個Django Web介面測試吧系列 第 4

來個Django Web介面測試吧:Day04-Django Web開發:Django的MTV開發模式

了解真正的Django開發模式

Day03的文章中提到:透過url.py設定頁面的路徑(127.0.0.1/index),透過view.py設定視圖(Day03顯示hello kitty)。

  • 一些使用到的小知識:
    • 127.0.0.1 是一組特殊ip,用於指向本機。

真正的Djanogo 是透過MTV的開發模式

  • 一般人比較常聽到MVC開發模式如下:

    • M(model) 模式 :資料存取。
    • V(view) 視圖 :顯示那些資料。
    • C(controller) 控制器 :控制視圖的顯現。
  • 而Django則是MTV開發模式如下:

    • M(model) 模式 :資料存取。
    • T(template) 範本 :處理該顯示那些資料。
    • V(view) 視圖 :模型與範本間的橋梁,存取模型與調整範本的邏輯。

本質上Django也是MVC模式,只是端看詮釋的角度。

透過上述的開發模式可以參考Django Girls 學習指南了解更多。


下列將實作簡易Django MTV模式:

  • 其實就是將原先的view.py修改如下程式碼:

    from django.shortcuts import render
    
    # crate your views here.
    def index(request):
        return render(request,"index.html") #將index.html頁面拋給使用者
    

    https://ithelp.ithome.com.tw/upload/images/20190905/20102269ML9625t8Re.jpg

    Django 會自動到templates路徑下搜尋符合index.html拋給使用者

  • 再到sign路徑下,新增templates資料夾,並新增index.html檔案,即程式如下:

    <!DOCTYPE html>
    <html lang="en" dir="ltr">
      <head>
        <meta charset="utf-8">
        <title>黑修斯的第11屆it邦鐵人賽挑戰</title>
      </head>
      <body>
        <h1>Hello 你好嗎?</h1>
      </body>
    </html>
    

    https://ithelp.ithome.com.tw/upload/images/20190905/20102269swC7UsfA1T.jpg

  • 重新更新後,成果如下:
    https://ithelp.ithome.com.tw/upload/images/20190905/20102269yJnchkRCqL.jpg


大部分的頁面都將放置T(template)範本

  • 今日帶大家體驗Django的MTV開發模式中的T,將頁面都集中到template路徑下,便於管理,再透過view.py決定要拋那些頁面給用戶。

  • 後續會再花個4天操作Django建置一個簽到系統,順帶說明一些觀念,之後再導入介面測試與相關工具介紹。


上一篇
來個Django Web介面測試吧:Day03-Django Web開發:接續美麗的錯誤HelloWord
下一篇
來個Django Web介面測試吧:Day05-Django 視圖(view)之1
系列文
來個Django Web介面測試吧30

1 則留言

0
cwchiu
iT邦新手 4 級 ‧ 2019-10-02 08:22:36

錯字

Djanogo 則是MTV開發模式如下

黑修斯 iT邦新手 5 級 ‧ 2019-10-02 17:32:06 檢舉

感謝,已修正。

我要留言

立即登入留言