note Python 網頁必學 Django (基本介紹)
keep reading...
Django是目前python 家族裡製作網站架構最強大的package
Django是目前python 家族裡製作網站架構最強大的package
而這篇要先從零開始,介紹架構、網頁原理bla bla bla,不進入程式喔~
-------------
先簡短介紹,Django 是一個用 Python 所寫的高階網頁框架,它可以讓人快速的開發實用又乾淨的網頁。
Django 原是兩年前因應某一個線上新聞網站的運作開發而成的,它的設計主要是為了能處理密集的新聞資料,以及讓網站開發者可以在最短的時間內看到網站開發的內容。Django 最重要就是可以讓你快速開發一個高效能及精緻的網站。
如同上面所寫的「Django 是一種搭配 Python 的高級框架…」或是「Django 網頁開發框架」、「Django 之於 Python 做為一種框架,就像 Rails 之於 Ruby 一樣…」
甚麼是框架?
原來 framework 指的是 Django 這個套件會自己把某幾個目錄下的東西視為網頁應用程式,再把另外某幾個目錄下的東西視為網頁內容的元素,另外還有某幾個檔案會被視為是網站的設定。雖然這裡所謂的「某幾個…」都是可以讓使用者再自行設定的,但因為 Django 一開始就提供了一些預設的目錄,所以只要照著做,就可以了。
引用出處
http://peterwolfwang.blogspot.tw/2011/05/django.html
https://www.openfoundry.org/tw/tech-column/1330-django-
------------
接下來介紹一下 Django的優勢
全套的解決方案,Django像Rails一樣,提供全套的解決方案(full-stack framework + batteries included),基本要什麼有什麼(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,開發網 站應手的工具Django基本都給你做好了,因此開發效率是不用說的,出了問題也算好找,不在你的代碼里就在Django的源碼里。
強大的URL路由配置,Django讓你可以設計出非常優雅的URL,在Django里你基本可以跟醜陋的GET參數說拜拜。
自助管理後台,admin interface是Django里比較吸引眼球的一項contrib,讓你幾乎不用寫一行代碼就擁有一個完整的後台管理介面。
引用出處
https://kknews.cc/zh-tw/tech/gze699.html
------------
Django的架構原理
一般網頁設計比較常見是MVC模式(例如Rails)
控制器 Controller - 負責轉發請求,對請求進行處理。
視圖 View - 介面設計人員進行圖形介面設計。
模型 Model - 程式設計師編寫程式應有的功能(實作演算法等等)、資料庫專家進行資料管理和資料庫設計(可以實作具體的功能)。
然而Django 本身已經具有Controller的功能
特別是將View 拆成 View 跟 Template
在Django的框架的View是特定網址(URL)的回呼函式(callback function),回呼函式會決定哪一個資料被獲取,所以View描述的是"你看到什麼"。
更進一步來說,將內容(content)從展現的視圖中分離開來是明智的選擇,因此Django採用樣板(template)的方法。Django的View決定呈現哪一個資料,而View所指定的Template則會描述"你如何看到、長什麼樣子"。
引用出處
https://sites.google.com/site/djangowebapp/django-framework
http://morningchen.com/2015/04/08/Django-MVC/
http://mropengate.blogspot.tw/2015/08/mvcdjangomtv.html
-----------
Django 的功能主要就是先對照 url,找到適當程式後,進入該程式;接著處理完資料部份後,就將樣板叫出來,並把資料的部份放上去,接著回傳。
Django 原是兩年前因應某一個線上新聞網站的運作開發而成的,它的設計主要是為了能處理密集的新聞資料,以及讓網站開發者可以在最短的時間內看到網站開發的內容。Django 最重要就是可以讓你快速開發一個高效能及精緻的網站。
如同上面所寫的「Django 是一種搭配 Python 的高級框架…」或是「Django 網頁開發框架」、「Django 之於 Python 做為一種框架,就像 Rails 之於 Ruby 一樣…」
甚麼是框架?
原來 framework 指的是 Django 這個套件會自己把某幾個目錄下的東西視為網頁應用程式,再把另外某幾個目錄下的東西視為網頁內容的元素,另外還有某幾個檔案會被視為是網站的設定。雖然這裡所謂的「某幾個…」都是可以讓使用者再自行設定的,但因為 Django 一開始就提供了一些預設的目錄,所以只要照著做,就可以了。
引用出處
http://peterwolfwang.blogspot.tw/2011/05/django.html
https://www.openfoundry.org/tw/tech-column/1330-django-
------------
接下來介紹一下 Django的優勢
全套的解決方案,Django像Rails一樣,提供全套的解決方案(full-stack framework + batteries included),基本要什麼有什麼(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,開發網 站應手的工具Django基本都給你做好了,因此開發效率是不用說的,出了問題也算好找,不在你的代碼里就在Django的源碼里。
強大的URL路由配置,Django讓你可以設計出非常優雅的URL,在Django里你基本可以跟醜陋的GET參數說拜拜。
自助管理後台,admin interface是Django里比較吸引眼球的一項contrib,讓你幾乎不用寫一行代碼就擁有一個完整的後台管理介面。
引用出處
https://kknews.cc/zh-tw/tech/gze699.html
------------
Django的架構原理
一般網頁設計比較常見是MVC模式(例如Rails)
控制器 Controller - 負責轉發請求,對請求進行處理。
視圖 View - 介面設計人員進行圖形介面設計。
模型 Model - 程式設計師編寫程式應有的功能(實作演算法等等)、資料庫專家進行資料管理和資料庫設計(可以實作具體的功能)。
然而Django 本身已經具有Controller的功能
特別是將View 拆成 View 跟 Template
在Django的框架的View是特定網址(URL)的回呼函式(callback function),回呼函式會決定哪一個資料被獲取,所以View描述的是"你看到什麼"。
更進一步來說,將內容(content)從展現的視圖中分離開來是明智的選擇,因此Django採用樣板(template)的方法。Django的View決定呈現哪一個資料,而View所指定的Template則會描述"你如何看到、長什麼樣子"。
一般MVC架構
|
Django 架構
|
Model
|
Model(Data Access Logic)
|
View
|
Template(Presentation Logic)
|
View
|
View(Business Logic)
|
Controller
|
Django itself
|
引用出處
https://sites.google.com/site/djangowebapp/django-framework
http://morningchen.com/2015/04/08/Django-MVC/
http://mropengate.blogspot.tw/2015/08/mvcdjangomtv.html
-----------
Django 的功能主要就是先對照 url,找到適當程式後,進入該程式;接著處理完資料部份後,就將樣板叫出來,並把資料的部份放上去,接著回傳。