国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

2-Django、Flask和Tornado三大主流框架對比

這篇具有很好參考價(jià)值的文章主要介紹了2-Django、Flask和Tornado三大主流框架對比。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在Python的web開發(fā)框架中,目前使用量最高的幾個(gè)是Django、FlaskTornado, 經(jīng)常會(huì)有人拿這幾個(gè)對比,相信大家的初步印象應(yīng)該是 Django大而全、Flask小而精、Tornado性能高。

了解常用框架

Django

主要特點(diǎn)是大而全,集成了很多組件,例如: Model、 Admin、 Form 等等, 不管你用得到用不到,反正它全都有,屬于全能型框架

  • 優(yōu)點(diǎn)

    • Django上手也比較容易,開發(fā)文檔詳細(xì)、完善,相關(guān)資料豐富
    • Django的自帶ORM非常優(yōu)秀,綜合評價(jià)略高于SQLAlchemy
    • Django自帶的模板引擎簡單好用,但其強(qiáng)大程度和綜合評價(jià)略低于Jinja
    • Django目前支持Jinja等非官方模板引擎
    • Django自帶的數(shù)據(jù)庫管理app好評如潮
    • Django非常適合企業(yè)級網(wǎng)站的開發(fā):快速、靠譜、穩(wěn)定
    • Django成熟、穩(wěn)定、完善,但相比于Flask,Django的整體生態(tài)相對封閉
    • DjangoPython web框架的先驅(qū),用戶多,第三方庫最豐富
  • 缺點(diǎn)

    • Django太重了,除了web框架,自帶ORM和模板引擎,靈活和自由度不夠高
    • Django能開發(fā)小應(yīng)用,但總會(huì)有“殺雞焉用牛刀”的感覺
    • Django自帶ORM也使Django與關(guān)系型數(shù)據(jù)庫耦合度過高,如果想使用MongoDBNoSQL數(shù)據(jù),需要選取合適的第三方庫,且總感覺Django+SQL才是天生一對的搭配,Django+NoSQL砍掉了Django的半壁江山
Flask

主要特點(diǎn)小而輕,原生組件幾乎為0, 三方提供的組件請參考Django 非常全面,屬于短小精悍型框架

  • 優(yōu)點(diǎn)
    • Flask確實(shí)很“輕”,不愧是Micro Framework,從Django轉(zhuǎn)向Flask的開發(fā)者一定會(huì)如此感慨,除非二者均為深入使用過
    • Flask自由、靈活,可擴(kuò)展性強(qiáng),第三方庫的選擇面廣,開發(fā)時(shí)可以結(jié)合自己最喜歡用的輪子,也能結(jié)合最流行最強(qiáng)大的Python
    • 入門簡單,即便沒有多少web開發(fā)經(jīng)驗(yàn),也能很快做出網(wǎng)站
    • 非常適用于小型網(wǎng)站
    • 非常適用于開發(fā)web服務(wù)的API
    • 開發(fā)大型網(wǎng)站無壓力,但代碼架構(gòu)需要自己設(shè)計(jì),開發(fā)成本取決于開發(fā)者的能力和經(jīng)驗(yàn)
    • 各方面性能均等于或優(yōu)于Django
    • Django自帶的或第三方的好評如潮的功能,Flask上總會(huì)找到與之類似第三方庫
    • Flask靈活開發(fā),Python高手基本都會(huì)喜歡Flask,但對Django卻可能褒貶不一
    • Flask與關(guān)系型數(shù)據(jù)庫的配合使用不弱于Django,而其與NoSQL數(shù)據(jù)庫的配合遠(yuǎn)遠(yuǎn)優(yōu)于Django
    • FlaskDjango更加Pythonic,與Pythonphilosophy更加吻合
  • 缺點(diǎn)
    • 對于大型網(wǎng)站開發(fā),需要設(shè)計(jì)路由映射的規(guī)則,否則導(dǎo)致代碼混亂
Torando

主要特點(diǎn)是原生異步非阻塞,在IO密集型應(yīng)用和多任務(wù)處理上占據(jù)絕對性的優(yōu)勢,屬于專注型框架

  • 優(yōu)點(diǎn)

    • 少而精(輕量級框架)
    • 注重性能優(yōu)越,速度快
    • 解決高并發(fā)(請求處理是基于回調(diào)的非阻塞調(diào)用)
    • 異步非阻塞
    • websockets 長連接
    • 內(nèi)嵌了HTTP服務(wù)器
    • 單線程的異步網(wǎng)絡(luò)程序,默認(rèn)啟動(dòng)時(shí)根據(jù)CPU數(shù)量運(yùn)行多個(gè)實(shí)例;利用CPU多核的優(yōu)勢
    • 自定義模塊
  • 缺點(diǎn)

    • 模板和數(shù)據(jù)庫部分有很多第三方的模塊可供選擇,這樣不利于封裝為一個(gè)功能模塊

2. Tornado VS Django VS Flask

Tornado性能比DjangoFlask高很多

  • 底層io處理機(jī)制:

Tornado、gevent、asyncio、aiohttp:自帶異步特性,底層使用的是事件循環(huán)+協(xié)程NodejsGo語言都得益于協(xié)程輕松實(shí)現(xiàn)了高并發(fā)。因?yàn)?code>Tornado內(nèi)置了自己的HTTPServer, 運(yùn)行和部署它與其他Python web框架不 太一樣

DjangoFlask: 傳統(tǒng)的模型,同步框架,阻塞io模型。api寫同步代碼,使用celery /apscheduler處理異步任務(wù)。python 傳統(tǒng)的這種 wsgi 模型,主要是為了方便框架開發(fā)者只需要專注框架層面,而非 http 處理層面。但這樣卻增加了服務(wù)部署的復(fù)雜度,需要同時(shí)部署和配置 http server wsgi server ,如果想支持異步還要部署 worker 。

  • 性能:

最基本的 json 的序列化:DjangoFlask 占優(yōu)

處理遠(yuǎn)程 http 請求的能力:Tornado 占絕對優(yōu)勢

數(shù)據(jù)庫與模板處理性能:TornadoFlask 旗鼓相當(dāng),Django 飽受詬病的地方就是 Django ORM 確實(shí)很慢,Django 的開發(fā)效率與維護(hù)非常棒,然而 Django ORM 深度綁定了該框架,如果你需要把 Django ORM 換成其它輪子,那么也意味著 Django 的諸多優(yōu)秀特性將從此告別文章來源地址http://www.zghlxwxcb.cn/news/detail-756099.html

到了這里,關(guān)于2-Django、Flask和Tornado三大主流框架對比的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python學(xué)習(xí)筆記_進(jìn)階篇(一)_淺析tornado web框架

    Python學(xué)習(xí)筆記_進(jìn)階篇(一)_淺析tornado web框架

    1、tornado概述 Tornado就是我們在 FriendFeed 的 Web 服務(wù)器及其常用工具的開源版本。Tornado 和現(xiàn)在的主流 Web 服務(wù)器框架(包括大多數(shù) Python 的框架)有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當(dāng)快。得利于其 非阻塞的方式和對epoll的運(yùn)用,Tornado 每秒可以處理數(shù)以千計(jì)的

    2024年02月12日
    瀏覽(22)
  • BUUCTF-MD5強(qiáng)弱比較-MD5()的萬能密碼-tornado框架注入-中文電碼

    BUUCTF-MD5強(qiáng)弱比較-MD5()的萬能密碼-tornado框架注入-中文電碼

    第六周 第三次 目錄 學(xué)習(xí)到的知識 1.MD5強(qiáng)弱比較可以都可以使用數(shù)組繞過 2.基于MD5()的萬能密碼??? ffifdyop WEB [BJDCTF2020]Easy MD5 ?編輯[護(hù)網(wǎng)杯 2018]easy_tornado Crypto 信息化時(shí)代的步伐 凱撒?替換?呵呵! Misc 神秘龍卷風(fēng) 1.MD5強(qiáng)弱比較可以都可以使用數(shù)組繞過 2.基于MD5()的萬能密碼

    2023年04月12日
    瀏覽(54)
  • Flask vs. Django:選擇適合你的Web開發(fā)框架【第134篇—Flask vs. Django】

    Flask vs. Django:選擇適合你的Web開發(fā)框架【第134篇—Flask vs. Django】

    前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家?!军c(diǎn)擊進(jìn)入巨牛的人工智能學(xué)習(xí)網(wǎng)站】。 在選擇一個(gè)適合你項(xiàng)目的Web開發(fā)框架時(shí),常常會(huì)遇到 Flask 和 Django 這兩個(gè)流行的選擇。兩者都有其優(yōu)勢和適用場景,本文將探討它們的特點(diǎn),

    2024年03月26日
    瀏覽(38)
  • 面試之 Python 框架 Flask、Django、DRF

    面試之 Python 框架 Flask、Django、DRF

    Django:大而全的框架。它的內(nèi)部組件比較多,如 ORM、Admin、中間件、Form、ModelForm、Session、緩存、信號、CSRF等,功能也都很完善。 flask:微型框架,內(nèi)部組件就比較少了,但是有很多第三方組件來擴(kuò)展它,比如 wtform(與django的modelform類似,表單驗(yàn)證)、flask-sqlalchemy(操作數(shù)

    2024年02月05日
    瀏覽(20)
  • Python Web開發(fā):Django與Flask框架

    Django和Flask都是Python中非常受歡迎的Web開發(fā)框架。雖然它們都是用于構(gòu)建Web應(yīng)用程序的工具,但它們在設(shè)計(jì)理念、使用方式和適用場景等方面存在一些差異。 Django Django是一個(gè)“大而全”的框架,遵循MVC設(shè)計(jì)模式。它內(nèi)置了很多功能,如ORM(對象關(guān)系映射)、模板引擎、表單處

    2024年02月22日
    瀏覽(20)
  • 從性能、開發(fā)難度、推廣使用等方面,對比一下django flask fastapi的優(yōu)點(diǎn)和缺點(diǎn)

    當(dāng)選擇一個(gè)適合你的項(xiàng)目的Python Web框架時(shí),你可能會(huì)考慮以下幾個(gè)方面:性能、開發(fā)難度和推廣程度。在這里,我們將比較Django、Flask和FastAPI這三個(gè)常用的框架,深入探討它們的優(yōu)點(diǎn)和缺點(diǎn)。 1. 性能: ? ?- Django:Django是一個(gè)全功能的框架,它提供了許多內(nèi)置的功能和擴(kuò)展。

    2024年02月12日
    瀏覽(19)
  • Python Web框架:Django、Flask和FastAPI巔峰對決

    Python Web框架:Django、Flask和FastAPI巔峰對決

    今天,我們將深入探討Python Web框架的三巨頭:Django、Flask和FastAPI。無論你是Python小白還是老司機(jī),本文都會(huì)為你解惑,帶你領(lǐng)略這三者的魅力。廢話不多說,讓我們開始這場終極對比! Django,這個(gè)強(qiáng)大的全能型框架被譽(yù)為“Web開發(fā)的瑞士軍刀”,無愧是大型項(xiàng)目的不二之選

    2024年02月12日
    瀏覽(50)
  • 框架安全-CVE 漏洞復(fù)現(xiàn)&Django&Flask&Node.js&JQuery框架漏洞復(fù)現(xiàn)

    框架安全-CVE 漏洞復(fù)現(xiàn)&Django&Flask&Node.js&JQuery框架漏洞復(fù)現(xiàn)

    中間件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,F(xiàn)lask,jQuery 等 1、開發(fā)框架-PHP-Laravel-Thinkphp 2、開發(fā)框架-Javaweb-St2-Spring 3、開發(fā)框架-Python-django-Flask 4、開發(fā)框架-Javascript-Nod

    2024年02月08日
    瀏覽(46)
  • python--tornado服務(wù)

    python--tornado服務(wù)

    一、前言 ? ??Tornado是一個(gè)基于非阻塞I/O的Web框架,具有可以處理大量并發(fā)連接,適用于高并發(fā)的場景的高性能,輕量級和異步支持的優(yōu)點(diǎn)。 ? ? 本篇主要展示了使用 tornado http post 和 get 服務(wù) 二、代碼 ? tornado http post 和 get 服務(wù) 下面的client端向分別向2個(gè)服務(wù)發(fā)送get請求和

    2024年02月13日
    瀏覽(17)
  • 【websocket - Tornado】簡易聊天應(yīng)用

    【websocket - Tornado】簡易聊天應(yīng)用

    項(xiàng)目測試的過程中需要自己搭建一個(gè)webscoket站點(diǎn),確保此類服務(wù)接入后臺系統(tǒng)后訪問不受影響。python的服務(wù)框架常用的有Flask、Django、Tornado,每個(gè)框架的側(cè)重點(diǎn)不同,導(dǎo)致使用的場景就會(huì)有所差異。 Flask輕量級,采用常規(guī)的同步編程方式,需要安裝其他模塊輔助,主要用于傳

    2024年02月14日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包