顯示具有 MTV 標籤的文章。 顯示所有文章
顯示具有 MTV 標籤的文章。 顯示所有文章

2019年4月27日 星期六

Django專案template模板範例教學


如同之前介紹過的Django與MVC架構類似,

是所謂的MTV架構,

而View視圖已經介紹過,

緊接著利用上次新建的專案,

來進行今天的主題:

Django專案template模板範例教學


底下是今天範例的目標,

透過參數傳遞,

將時間這個區域變數傳遞到template中顯示.


首先到url.py先設定一個URL到views

from Firstweb.views import test_template


urlpatterns = [
    path('test_temp', test_template.sample1),

接著到對應的test_template.py設定視圖

from datetime import datetime
from django.shortcuts import render


def sample1(request):
    time_now = datetime.now()
    return render(request, 'sample_template1.html', locals())

render第一個參數request ,

主要傳遞GET/POST送出的資料,

第二個參數表示template的名稱,

而locals()表示要傳遞此處所有的區域變數,



這邊以Pycharm為範例新增一個template:

在左邊檔案樹狀結構中找到templates資料夾,

並在其上按滑鼠右鍵,

在選單中選擇新增一個html檔案,



是的,

Django的template就是一個html檔,

要顯示在網頁上的所有內容都寫在模板中



IDE軟體會自動帶入最基本的html標籤





{{ time_now }}
加入body中,

template本身有自己的語法,

變數的表示法以雙大括號包住

{{   變數 }}

設定好了就能執行

python   manage  .py   runserver

或者

按下IDE軟體的執行按鈕,

就能在瀏覽器中看到呈現的時間

2019年3月1日 星期五

Django與MVC架構


MVC 架構是一種軟體架構,

它將整個系統分三部分,


Model : 物件操作與邏輯,最明顯的特徵為直接存取資料庫,

View : 使用者看到的畫面與顯示相關的邏輯

Controller : 來自使用者的要求與回應都在此實現





存在即有理,

在軟體設計中,

使用MVC架構的系統,

除了管理與升級方便以外,

分工明確也是一大特點,

舉例來說,

今天如果要更改呈現的畫面,

以MVC所設計的系統,

僅需要動到View 而不須更動程式原有操作行為,




而 Django 要說是MVC架構也可以,

但具體而言,

Django其實是MTV架構,


Model : 物件操作與邏輯,最明顯的特徵為直接存取資料庫,

Template : 使用者看到的畫面與顯示相關的邏輯

View: 來自使用者的要求與回應都在此實現


這裡故意以上面描述MVC架構的文字來解釋,

差異在哪,

從各個文字描述中就能明白,




重點在於不管是MTV也好 MVC 也罷,

其主要的目的都是在使系統管理維護方便,

分工明確使系統更動時,

不必牽扯太過複雜,

改顯示介面就是顯示介面,

不用改到資料庫相關的程式碼