玩 Django — Part 1(Django 簡介)

Andy Lu
3 min readMar 3, 2018

Django是什麼?

Django 是由python為開發語言的web framework,是為了快速、安全的開發網站所開發的技術,具有可擴展性。更重要的是,它是免費的而且為開放的。

Django 名稱的來源是來自一名吉普賽爵士(Jazz manouche)吉他手-Django Reinhardt.

截至2018/3/2日,Github上的星星數量已經有三萬兩千一百多個,而根據HotFramework.com的資料,Django在2017年的平均分數有90分(Github Score 以及Stack overflow score),前五大的web framework(ASP.NET, AngularJS, Ruby on Rails, React, Django),以Python開發的web framework中,Django的分數也是領先其他的項目。[參考來源]

Django穩定嗎?

Django是一個穩定的web framework,並且已經有相當多網站使用Django為web framework。擁有30億註冊會員的Instagram也是以Django開發的。

MVC架構

許多的web framework都採用MVC(Model-View-Control)的架構,也就是將資料模型(Model)、畫面(View)、控制器(Control)分開,如此就可以模組化,更加可以重複利用。

MTV架構

而Django採用的是類似MVC的MTV(Model-Template-View)架構,一般在MVC架構的View是把資料呈現出來,而MTV架構下的View是要呈現哪一個資料,並交由Template呈現出來。也就是說Django的View並不包含如何把資料輸出至畫面上,取而代之的是將資料傳給Template並由其輸出資料。

而傳統的MVC架構中的控制器(Control)就融入framework裡了。

Django的優點

  1. Django原生支援許多資料庫(PostgreSQL, MySQL, SQLite…),在不同的資料庫上面,利用Django的指令都可以快速的建立資料庫欄位。
  2. 不需多餘的程式碼即可以有一個功能完整的Admin,讓我們可以輕易的新增資料,而不需要自行寫一個input form來輸入。
  3. URL 分配器(URL dispatcher),可以輕易的將外部輸入的URL轉成python function並輸出。
  4. 內建單機版的輕量的Web 伺服器,可以快速的開啟測試網站。

小結

使用Django已經開發一陣子了,從完全不會到可以寫出一個完整的網站,心得是真的可以快速開發,Django可以說是一把開發網站的瑞士刀。

--

--

Andy Lu

Android/Flutter developer, Kotlin Expert, like to learn and share.