這幾年大數據和AI和Fintech帶起全民學pyhton的風潮
培訓機構都常常說連歐巴馬都會寫程式了你還不學嗎?
我只知道如果人生一開始就寫程式絕不會變歐巴馬就是了
Anyway,Python是國外流行已久的語言,和C#、Java比較起來
動態型別的Python讓初學者更好入門和上手
就像PHP就很適合初學者跨入成為Web Developer的首選
而Visual Studio 2015也開始支援Python開發和偵錯
身為網頁開發的愛好者,就來研究一下吧
Django是很流行的python MVC網頁framework,嚴格來說是MTV架構,
MTV ( Model–Template–View ),我們可以透過下面這張圖來了解其運作方式:
首先下載開發環境,選擇Python
之後開啟一個新的Django專案
會看到底下的目錄結構
mysite/
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
檔案 | 描述 |
---|---|
manage.py | Python命令搞,提供了使用者能方便管理專案的功能,包含建置app、啟動server/shell等 |
mysite | 是該專案的主目錄,包含了重要的設定檔和RootURLConf |
__init.py__ |
一個空檔,但使得該目錄(較下層的mysite)成為一個Python package. |
settings.py | 本專案的設定檔 |
urls.py | url的根設定檔 |
直接F5執行,可以看到執行成功的畫面
接著建立一個Django APP
項目 | 描述 |
---|---|
__init__.py | 此檔案會將應用程式識別為套件。 |
migrations | Django 儲存指令碼的資料夾,這些指令碼會更新資料庫以配合對模型所做的變更。 接著,Django 的移轉工具會對任何舊版資料庫套用必要的變更,以使它符合目前的模型。 透過使用移轉,您可以專注於模型上,並讓 Django 處理基礎資料庫結構描述。 移轉會在步驟 6 中討論;現在,該資料夾只會包含 __init__.py 檔案 (表示該資料夾定義自己的 Python 套件)。 |
templates | Django 頁面範本的資料夾,其中包含單一檔案 index.html。 範本是 HTML 的區塊,檢視可在其中加入資訊,以動態呈現頁面。 頁面範本「變數」(例如 index.html 中的 {{ content }} ) 是動態值的預留位置,如本文稍後所述 (步驟 2)。 Django 應用程式通常會將其範本置於名稱與應用程式名稱相符的子資料夾中,來為範本建立命名空間。 |
admin.py | 在其中擴充應用程式系統管理介面的 Python 檔案 (請參閱步驟 6),用來查看和編輯資料庫中的資料。 此檔案一開始只包含陳述式 from django.contrib import admin 。 根據預設,Django 是透過 Django 專案中的 settings.py 檔案來包含標準系統管理介面,您可以藉由取消註解 urls.py 中的現有項目來開啟它。 |
apps.py | Python 檔案,定義應用程式的設定類別 |
models.py | 模型是由函式識別的資料物件,檢視會透過它和應用程式基礎資料庫互動 (請參閱步驟 6)。Django 提供資料庫連線層,使應用程式本身不需要處理那些詳細資料。 models.py 檔案是建立模型的預設位置,而且一開始只包含陳述式 from django.db import models 。 |
tests.py | Python 檔案,包含單元測試的基本結構。 |
views.py | 檢視就是一般所認知的網頁,會接收 HTTP 要求並傳回 HTTP 回應。 檢視通常會轉譯成網頁瀏覽器知道如何顯示的 HTML,但檢視不一定需要顯示出來 (例如以中繼形式呈現)。 檢視是由負責轉譯 HTML 以傳送至瀏覽器的 Python 函式所定義。 views.py 檔案是建立檢視的預設位置,而且一開始只包含陳述式 from django.shortcuts import render 。 |
透過url.py來分配URL傳進來的請求(Request)對應到view.py內的訂定函數
view.py函數處理完後可以將結果回傳
1.直接回傳給Browser/Client
2.回傳給Template,再依定義好的版型回傳給Browser/Client
先開啟view.py,撰寫一個Hello world
設定路由urls.py
再次執行後可以看到首頁已經置換了