Lecturer:Yan

Django

Basic

大綱

  • Web framework 介紹
  • Django 介紹
  • pipenv 安裝
  • Django 安裝

Outline

Before we start.

所以... 大家加油 ouo

然後各位要分組進行專案的部分

理論上是會做出一個 blog

Web framework 介紹

Introduction

Web framework ?

網頁框架就是別人已經設定好的一個網站模板,你可以學習它的規則,然後修改成自己需要的樣子。簡單來說就是當你開發 Web 應用程式時所用的框架。

通常會提供:

  • 一個既定的程式骨架
  • 強大且豐富的函式庫 ( Libraries )

常見的網頁框架

大家比較熟知的 Python 網頁框架比較

  • 大而全
  • 內建全套解決方案
  • 注重組件的重用性、可插拔性
  • 微框架
  • 自由、靈活,可擴展性強
  • 入門簡單

框架本身無法自行運作,開發者要將框架搭配上自己的程式,才是一個完整的應用程式。

Django 介紹

Introduction

Django

講古時間

Django Reinhardt (1910 – 1953)

Django ?

  • 免費開放原始碼
  • 著重快速開發、高效能
  • 遵從 DRY 守則,致力於淺顯易懂和優雅的程式碼
  • 使用 MTV 架構
  • 是 Python 最著名的 Web Framework,可以快速開發安全和可維護的網站。

它有以下幾個特色:

DRY

Don't Repeat Yourself

  • 原則是「系統中的每一部分,都必須有一個單一的、明確的、權威的代表」。
  • 指的是代碼必須能夠表達所應表達的內容,但是不能含有任何重複代碼。
  • 當 DRY 原則被成功應用時,一個系統中任何單個元素的修改都不需要與其邏輯無關的其他元素發生改變。

Django

實例

Django

實例

Text

Django Pony

長得有夠 像彩虹小馬 充滿少女心的吉祥物

MTV 架構介紹

Introduction

MVC

  • Model : 資料的管理(例如與資料庫的溝通) 、演算法邏輯(商業邏輯) 、物件結構定義
  • View : 呈現給使用者看、操作的介面
  • Controller :  依據傳入的資料該怎麼運作、程式流程的控制、該回傳給使用者什麼資料等

MVC

Back to MTV.

負責資料庫

要呈現哪一個資料,

並交由 Template 呈現

最後的 HTML 呈現

Why MTV ?

使用 MTV 架構的好處:

  • 避免 Spaghetti Code
  • 分離前後端
    • 前後端可獨立作業
    • 擁有更多彈性
    • 較容易維護
    • 降低程式複雜度

MVC v.s. MTV

MVC MTV
Model Model (Data Access Logic)
View Template (Presentation Logic)
View View (Business Logic)
Controller Django itself

這是一張畫得比較好(也比較美)的 MTV 架構圖

pipenv 安裝

Installation

Virtual environment ?

  • 你的專案會擁有一個專屬的獨立 Python 環境。
  • 不需要 root 權限,就可以安裝新套件。
  • 方便控管不同版本的套件,不用擔心升級套件會影響到其他專案。

install pipenv

$ pip install pipenv
$ brew install pipenv

請先到 這個連結 安裝好 homebrew

for Windows

for Mac

$ cd 到你想放資料夾的地方
$ mkdir 隨便你取

建好你要當作虛擬環境的資料夾

$ cd 到資料夾

前往該資料夾

$ pipenv --three

創建 python3 虛擬環境

$ pipenv --two

如果想創建 python2 虛擬環境的話...

$ pipenv shell
$ exit

進入 / 退出虛擬環境

$ cd 到該虛擬環境所在位置
$ pipenv --rm

刪除創建的虛擬環境

Django 安裝

Installation

請確定你現在正在虛擬環境裡

確定在齁?你確定嗎?

真的?

install Django

$ pipenv install django

安裝最新的 3.0.4 版本

$ pipenv graph

確定有沒有安裝成功(查看已安裝套件的指令)

$ vi pipfile
退出的話就打 :q

如果你是用 mac 你也可以用 vi 打開 pipfile 

或是打開 pipfile 看一下 package 的部分

$ pipenv uninstall 套件名稱

如果不小心裝錯要刪掉的話

$ pip list

可以先 exit 到虛擬環境外後,再輸入:

這時候你就會發現剛剛在虛擬環境裡安裝的套件,真的沒有在外面。

Thanks for listening.

References

Django basic - 3/15

By oneone

Django basic - 3/15

SIRLA 2020 Django Tutorial

  • 159