2018年Python web五大主流框架

2021-02-19 python

Python是一門優雅的程式語言,被廣泛應用在Web開發、遊戲開發、人工智慧、雲計算開發、大數據開發、數據分析、科學運算、爬蟲、自動化運維、自動化測試等領域,Python在各領域的應用最方便的就是使用框架,可以讓程式設計師以更少的代碼實現自定義功能,還可以將更多的精力集中在業務邏輯上,更加的輕鬆便利!

但是現在學習Python的人員更多的是趨向於爬蟲、人工智慧、數據分析

Python web開發確實這些方向工作崗位最多的一個!

曾經有一位老前輩和說到「Python web開發堪稱全能」

他說:

如果你會Python web開發,那麼

你在製造行業,就是做ERP系統開發;

你在電商行業,就是做電商平臺;

你在遊戲行業,就是做遊戲後臺開發;

你在金融行業,就是做量化交易;

你在..行業,就是做...

好吧 好吧! 回歸正題,2018Python主流的五大框架

(個人意見,有爭議請在下方留言評論)

1.Django

Django是一個開源的Web應用框架,由Python寫成,支持許多資料庫引擎,可以讓Web開發變得迅速和可擴展,並會不斷的版本更新以匹配Python最新版本,如果是新手程式設計師,可以從這個框架入手。

2.Flask

Flask是一個輕量級的Web應用框架, 使用Python編寫。基於 WerkzeugWSGI工具箱和 Jinja2模板引擎。使用 BSD 授權。

Flask也被稱為 「microframework」 ,因為它使用簡單的核心,用 extension 增加其他功能。Flask沒有默認使用的資料庫、窗體驗證工具。然而,Flask保留了擴增的彈性,可以用Flask-extension加入這些功 能:ORM、窗體驗證工具、文件上傳、各種開放式身份驗證技術。

3.Web2py

Web2py是一個用Python語言編寫的免費的開源Web框架,旨在敏捷快速的開發Web應用,具有快速、可擴展、安全以及可移植的資料庫驅動的應用,遵循LGPLv3開源協議。

Web2py提供一站式的解決方案,整個開發過程都可以在瀏覽器上進行,提供了Web版的在線開發,HTML模版編寫,靜態文件的上傳,資料庫的編寫的功能。其它的還有日誌功能,以及一個自動化的admin接口。

4.Tornado

Tornado即是一個Web server(對此本文不作詳述),同時又是一個類web.py的micro-framework,作為框架Tornado的思想主要來源於Web.py,大家在Web.py的網站首頁也可以看到Tornado的大佬Bret Taylor的這麼一段話(他這裡說的FriendFeed用的框架跟Tornado可以看作是一個東西):

「[web.py inspired the] Web framework we use at FriendFeed [and] the webapp framework that ships with App Engine…」

因為有這層關係,後面不再單獨討論Tornado。

5.CherryPy

CherryPy是一種用於Python的、簡單而非常有用的Web框架,其主要作用是以儘可能少的操作將Web伺服器與Python代碼連接,其功能包括內置的分析功能、靈活的插件系統以及一次運行多個HTTP伺服器的功能,可與運行在最新版本的Python、Jython、Android上。

最後關於框架選擇的誤區

在框架的選擇問題上,許多人很容易就陷入了下面兩個誤區中而不自知:哪個框架最好——世上沒有最好的框架,只有最適合你自己、最適合你的團隊的框架。程式語言選擇也是一個道理,你的團隊Python最熟就用Python好了,如果最熟悉的是Ruby那就用Ruby好了,程式語言、框架都只是工具,能多、快、好、省的幹完活就是好東西。

過分關注性能——其實大部分人是沒必要太關心框架的性能的,因為你開發的網站根本就是個小站,能上1萬的IP的網站已經不多了,上10萬的更是很少很少。在沒有一定的訪問量前談性能其實是沒有多大意義的,因為你的CPU和內存一直就閒著呢。

相關焦點

  • 數據簡化社區Python官網Web框架概述(公號回復「PythonWeb架構」下載典藏版PDF報告)
    網頁Web Frameworks for Python(https://wiki.python.org/moin/WebFrameworks/),介紹主流Python Web框架及其發展趨勢,發布本譯文。
  • Python Web 框架介紹
    如有好文章投稿,請點擊 → 這裡了解詳情今天,有非常多的Python框架,用來幫助你更輕鬆的創建web應用。雖然大部分現代的web框架都運行在服務端,也有一些框架開始嘗試與客戶端代碼結合,可以在客戶端運行(例如Skulpt和Trinket)。Python框架通常分為全棧框架和非全棧框架。全棧框架設計從用戶體驗到資料庫的所有技術,非全棧框架則並不包含整個開發的全部技術。此外還有一種微框架,也屬於非全棧框架,但是更輕量級。有的情況下,微框架是比較適合的,有時又適合使用全棧框架。
  • 【Python】簡單而直接的Python web 框架:web.py
    web.py 是一個Python 的web 框架,它簡單而且功能強大。web.py 是公開的,無論用於什麼用途都是沒有限制的。
  • Python Web 開發者學習的12 個框架
    如果你正在學習python,這12個開源框架,千萬別錯過,這些框架包括事件I/O,OLAP,Web開發,高性能網絡通信,測試,爬蟲等。
  • Python 最好用的web框架
    速度為先當下,python都已經更新到了 Python3.9.3 了,如果你還沒有使用過 asyncio、和 Python3.5 新增的 async/await 語法,那說明你可能真的是桃花源人,問今是何世,不知有漢,無論魏晉了。在當下,基於 async/await 語法的異步 Web 框架也有很多,在 github 上找一找比比皆是是,那究竟應該選哪一款呢?
  • 10款Web開發最佳的Python框架
    > 來自:碼農網連結:http://www.codeceo.com/article/10-web-python-framework.html
  • 用 Python 寫一個簡單的Web框架
    在WSGI的規範下,各種各樣的Web伺服器和Web框架都可以很好的交互。由於WSGI的存在,用Python寫一個簡單的Web框架也變得非常容易。然而,同很多其他的強大軟體一樣,要實現一個功能豐富、健壯高效的Web框架並非易事;如果您打算這麼做,可能使用一個現成的Web框架(如 Django、Tornado、web.py 等)會是更合適的選擇。
  • 免費送書 | python版《Selenium WebDriver 3.0 自動化測試框架實戰指南》
    吳老師的新書:《Selenium WebDriver 3.0 自動化測試框架實戰指南》-python版截止至2018年 2 月 1 號 12點前,精選留言被點讚最多的前5名用戶將獲得此書。PS:已經獲獎的測友就不能再次獲獎了!
  • Python Web開發框架:Django入門
    DjangoDjango是一款基於Python的web開發框架,還有一款web開發工具是Flask。Flask和Django的對比,網上有個比喻個人覺得很形象,Flask好比是新買的毛坯房,只有房屋的主幹骨架,要住的舒服,還要裝修一番,而Django好比精裝修的房子富麗堂皇,各種接口工具非常豐富,好比是Requests和Scrapy的區別。
  • 10 款 Web開發最佳的 Python 框架
    作為一個程式設計師,我們必須了解Python這門程式語言的靈活和強大。框架的選擇取決於Web應用程式的使用目的和複雜程度。測量項目所需的負荷、可擴展性和效率是關鍵。官方網站:http://www.cubicweb.org/2.Zope2Zope是不同Web框架集合在一起的完整家庭。
  • Node.js主流Web框架對比
    我們將在這篇文章向大家介紹幾款主流Node.js Web框架的特點及優缺點,希望給大家作為參考。主要參考的Node.js Web框架包括:express, koa, hapi, restify, fastify, eggjs, thinkjs, Sails, Adonisjs, NestJS。Benchmarks
  • 2018 年 Java,Web 和移動程式設計師學習的 12 個框架
    如果2018年還沒有決定學什麼,那麼你來對地方了。在今天的文章中,我將分享一些你可以學習的最好框架,以提升你在移動和Web開發以及大數據技術方面的知識。在當今世界,對各種框架的了解是非常重要的。它們使你可以快速開發原型和實際項目。如果你在創業公司工作,那麼你肯定希望能夠立馬裝備一些炫酷的東西,那正是框架知識發光發熱的地方。
  • 多套方案來提高 python web框架的並發出能力
    多套方案來提高python web 框架的並發處理能力Python 常見部署方法有:1.
  • Python Web框架
    如果想用 Python編寫網站,有許多Python Web框架供選擇(還不少呢)。一個Web框架至少要具備處理客戶端請求和服務端響應的能力。框架可能具備下面這些特性中的一種或多種。先簡單提下兩個框架(bottle 和 flask),之後會介紹其他框架,用它們編寫帶資料庫的網站非常方便。無論想編寫什麼網站都能找到合適的框架。
  • Python五大應用領域 一起了解一下
    Python五大應用領域,要說近兩年最火的程式語言是什麼?
  • 學會用Python Django輕鬆搭建Web測試框架!| 51做專家
    出於比賽需要,要解釋一個 Django框架裡的軟體,本人學java,沒接觸過 Python的框架?求入口在哪兒?怎麼運行啊?d:\django\web> python manage.py runserver 1.1.1.1:8000運行內置的Web伺服器。  想跟你請教個問題:能用django做旅遊調查網站嗎,通過調查班級同學的旅遊意向,將信息存入資料庫,然後進行簡單的分析,得出最佳旅遊地點,這種想法可行嗎?
  • Rust web 框架現狀【2021 年 1 季度】
    本文翻譯自 Abiodun Solomon 發表於 2021 年 1 月 15 日的文章,閱讀時間大約 3-5 分鐘。
  • 什麼是 Web 框架?
    原文地址: http://jeffknupp.com/blog/2014/03/03/what-is-a-web-framework/Web 應用框架,簡稱為 web 框架,是編寫 web 應用程式的基石。不管簡單的博客系統,還是 Ajax 為主的應用,網絡上所有的頁面都是代碼構成的。
  • Python Web 開發的十個框架
    這篇文章列舉了十個Python Web應用開發框架,不過因為Django似乎人盡皆知的樣子,沒有列在文中。。CubicWeb的最重要的支柱就是代碼的可重用性。CubicWeb宣揚自己不僅是一個Web開發框架,而且還是一款語義Web開發框架。CubicWeb使用關係查詢語言(RQLRelation Query Language)與資料庫之間進行通信。
  • Python 在 Web 開發中的應用
    參見:在WSGI homepage可以找到WSGI相關代碼的概述,其中還包含了一個涵蓋很廣的WSGI伺服器列表。你可能對已經包含在標準庫中支持WSGI的模塊感興趣,即:案例學習:MoinMoinWSGI到底給web應用開發者帶來了什麼?讓我們通過一個應用來了解。這個存在已久的Python應用最初並沒有使用WSGI。