Django爲何是Python開發最流行的Web框架【轉】

Python開發人員有大量的框架可供選擇來用於他們的Web項目。不過,如今Django毫無疑問已成爲世界上Python開發人員中最流行的Web框架。本w未來談談Python開發人員爲何喜歡Django而不是其餘流行的Python Web框架,如Flask,Pyramid,Tornado,Bottle,Diesel,Pecan,Falcon等等。html

在談論Django以前,讓咱們先簡單瞭解一下什麼是Web框架前端

Web框架是一個代碼庫,能讓開發人員更容易構建動態網站,Web應用程序和Web服務。衆所周知,每一個網站都有一個經常使用的功能(如處理會話,數據驗證等),每次建立網站時都須要從新編寫這些代碼。這個過程是很是平淡乏味。然而,使用Web框架能夠解決您每次建立網站時從新編寫經常使用功能的尷尬處境,從而實現更快的開發。簡而言之,Web框架能夠簡化Web開發過程。vue

爲何Django是Python開發者的最佳Web框架python

 

Django是以Python編寫的高級,MVC風格的開源庫。 Django也被稱爲「完美主義者的最後框架」,它最初是爲新聞網站設計的,而且容許開發人員編寫數據庫驅動Web應用程序,所以無需從頭開始編碼。數據庫

除了更快完成常見的Web開發任務,Django還能使設計過程乾淨務實。 Django是新的Python Web開發人員的最佳選擇,其官方文檔和教程是軟件開發中最好的。django

在技術市場充斥着一系列網絡框架,但Django一直是最受歡迎的服務器端Web框架。設計Django最初的緣由是:不要重複造輪子。 Django是用Python編寫的,經過最小化編寫代碼來提升效率,再加上雲平臺的支持,使Django成爲Web開發者最受歡迎的選擇。

api

Django的主要特色

安全

一、Django配有「Batteries-Included"服務器

 

Django基於「Batteries-Included」的理念,可沒必要使用單獨的庫來實現常見功能,例如身份驗證,URL路由,模板系統,對象關係映射器(ORM)和數據庫模式遷移。若是您正在使用或使用Flask,您必須注意到它要求一個單獨的庫,如用Flask-Login來執行用戶身份驗證,而 Django沒必要這樣作。網絡

二、免費API

使用Django,能夠根據您的模型生成Python API,不須要額外的編碼就可以生成API了。

三、獨特的管理界面

 

即便在網站徹底構建以前,您也能夠從外部貢獻者的網站上獲取有關信息,這就是Django的優勢。該框架使您可以快速輕鬆地從應用程序的模型中建立一個管理站點。

四、代碼佈局

與大多數Web框架相反,Django經過使用稱爲application的東西,更容易地將新功能插入到產品中。所以,開發人員一直被鼓勵編寫自包含的代碼。

五、Django的ORM專一於數據庫

 

Django的對象關係映射器(ORM)負責處理數據庫,因此沒有處理結構化查詢語言(SQL)那樣的麻煩,它主要用於查詢數據庫所需的數據。與許多經過SQL直接在數據庫上工做的Python框架不一樣,Django開發人員有一個獨特的工具來操縱相應的Python模型對象。 Django經過使用PostgreSQL,MySQL,SQLite和Oracle等關係數據庫管理系統來實現開箱即用的功能。

六、強大的內置模板系統

基於繼承系統,Django的模板容許開發人員從很是少許的前端代碼構建整個動態網站,經過使用上下文特定元素來替換模板的某些元素選項。想象一下,你知道你網站的每一個頁面都會有一個頁眉和一個頁腳。如今,您首先須要在網站的基本模板中編寫代碼。而後,您能夠從應用程序的其餘部分動態地更改這兩個內容之間的組件。

七、簡單可讀的URL

通常來講,很難正確閱讀在PHP os ASP中開發的URL。使用Django,您能夠建立簡單易讀的URL,這對人和搜索引擎都有好處。您也可使用其餘框架建立可讀URL,但沒有一個與Django同樣容易進行URL構造。

八、快速啓動,輕鬆建立RSS和Atom訂閱源

使用Django,您能夠經過建立一個簡單的Python類來快速,輕鬆地建立RSS和Atom 訂閱源。

九、自動建立數據庫中的表

若是數據庫中缺乏表,能夠經過在Django中執行migrate命令來自動建立表

十、輕鬆的數據庫遷移

Django最有用的功能之一就是數據庫遷移。使用Django的遷移,您能夠快速更改數據庫模式,跟蹤您的數據庫模式以及進行相關更改。遷移名稱有助於管理版本控制,而且可使用多種選項來合併版本並進行修改。

十一、安全

Django是高度安全的。該框架具備針對XSS攻擊,CSRF攻擊,SQL注入,點擊劫持,用戶管理,Cookie,電子郵件標題注入,加密,目錄遍歷等的默認保護。

中文轉載自 http://mp.weixin.qq.com/s/B1_qrQEztDcjAqGc1HomZg

英文原文:http://evontech.com/what-we-are-saying/entry/why-django-is-the-best-framework-for-python-developers.html 

譯者:天高

相關文章
相關標籤/搜索