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

2019年6月5日 星期三

Django資料庫基礎


Django為基於Python語言的網站框架,

其MTV架構讓前後端能夠更有效率地進行網站開發,

之前提到過Djano的視圖與URL,

也介紹過Django專案template模板範例教學,

當然少不了MTV架構中的Model了,

其實就是

Django資料庫基礎


Django是以Class類別建立Model,

藉由Model操作資料庫與資料表,

在Django的資料庫操作有幾個重要的步驟




1.

在model.py定義Class類別,   每一個Class類別視為一個資料表,

在Class類別中定義變數,這些變數就相當於資料表欄位,


2.
每當model.py檔案有更動,

就必須執行

python manage.py makemigrations   app名稱

或者

python    manage.py   makemigrations

來產生Django與資料庫之間的資料檔,

此兩個命令的差異在於前者專為某個app做資料檔的產生,

後者針對整個專案的model產生資料檔


3.

最後以

python   manage.py   migrate

更新資料庫內容



底下為model.py範例



程式的最上方要匯入models套件,

在model.py建立的類別繼承於models.Model,

TextField則是在描述此欄位的格式多行輸入的字串資料,



常見格式有:

BooleanField:

用以表示布林值True , False


CharField:

用以表示單行字串資料


IntegerField:

用以表示整數資料


其他還有不同的欄位格式,

在此就不詳述,


各欄位可針對其特性不同,

加入各式不同的屬性,

比如

unique:
設定此欄位為唯一值

primary_key:
設定此欄位為主鍵



定義好model之後,

執行上述所說的

python    manage.py   makemigrations


python   manage.py   migrate

關於資料庫的定義就完成,

就能根據網站各功能做開發











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軟體的執行按鈕,

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