Inhaltsverzeichnis
回复内容:
Heim Backend-Entwicklung Python-Tutorial 为什么 Flask 有那么多的好评?

为什么 Flask 有那么多的好评?

Jun 06, 2016 pm 04:22 PM

有说吸收了很多好的思想,谁能分析分析,最好能从通用的角度分析,不要局限在语言,框架上

回复内容:

Flask 的作者 Armin Ronacher 很早就开发了 Werkzeug 套件,用于开发高质量的 WSGI Application。后来推荐给 Bottle 作者的时候,Bottle 的作者非常执着于“单文件”和“无依赖”,拒绝了使用 Werkzeug。再后来 Armin Ronacher 基于 Werkzeug 开发了 Flask,并且压缩成了单个 py 文件,算是黑 Bottle 的一个小玩笑吧。真正溯源,Bottle 和 Flask 应该都是模仿 Ruby 的 Sinatra 吧……

后来 Flask 获得比 Bottle 更多的关注,个人推测是因为其开发和设计的实用主义作风。无论是 Unicode 支持(这块在 Python 2.x 下还挺疼的)还是 Message Flash 这样的小功能,Flask 都做的非常人性化。除此以外,可插拔的 Extension 机制和 Blueprint 等设计,都为项目从小发展到大的需求做了考虑。另外对于开发、测试 Web 应用中的一些优秀模式,Flask 维护团队在文档、邮件列表等处都非常努力地做了传播。

其实就算抛开 Flask 不说,Werkzeug 本身也是一个高质量的库。Flask 被开发出来,初衷也是展示如何用 Werkzeug 定制出一个 Web 框架。如果说要给 Flask 的设计多少多少好评,有木有想过这些好评也许是应该属于 Werkzeug 的呢 之前用过flask,大概来说,
一是看上去简单,对于有编程经验的人来说,上手很快。
二是文档很好。
三是很多扩展看上去也很合理。

。。。
后来的时候,发现其实也不简单,需要某些功能要使用插件也是要学习成本的,而且文档更分散。扩展的文档有的也不那么好,要去看源文件,甚至连很常用的,flask-sqlchemy。有的扩展不太给力,比如flask-mail的master分支不能在gae上用。
使用flask感觉还是很愉快的,如果说是为了折腾是一个很好的东西。如果是为了生产,django更值得信赖。 说一下我的使用感受,最初刚学python,先看的django,跟着官方文档做例子,有点无脑,配置多一些。
后来,学习了flask,也是看的官方文档,学的很舒服,微内核和可扩展对初学者也很有好处。
作为一名入门者,我觉得的,Flask更适合初学者,你可以自己实现一些功能,也可以使用丰富的扩展,这样可以避免只会使用扩展,而不懂原理的问题,灵活性完全在你自己手里。
还有,django和flask的文档都超赞的说~
其他学习资料django要比flask学习多一些 看过flask的入门文档.
相对与django而言, flask的入门文档简直人性.
我看django的tutorial, 每次都有新收获, 简直了.
所以flask上手快, 看完入门指南能立即有思路.
看完django入门文档, ... 呵呵

所以flask的学习曲线比django的要平滑很多. 这是很吸引人的.

------------
但是我用的是django... =_= Django太大了,文档说实话阅读性挺差的。
Tornado文档虽然也很不错,但是全英文把很多人都拒之门外(包括一开始接触Python框架的我)。
Flask文档非常人性,先来个入门指南建立一下信心,而且初期用到的指南里都提及了,框架虽然小,但是全啊,而且插件多得可怕,即插式的插件实在太方便了。
学到中途再读Flask源码的时候发现它源码写得实在良心,我一个第一次读框架源码的都能读得不错简直是业界良心。

不过现在准备转转Tornado了,发现Tornado虽然造轮子是常态但是框架提供的都是核心功能呀,二者都是良心。至于Django嘛- -我真不喜欢这个框架。 根据上面的回答小节,新手学习Flask、之后Django,然后Tornado,学以致用,技多鬼压床 1.开箱即用
2.低耦合
3.可扩展
4.文档完善
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer-Anfänger-Programmierbasis in Projekt- und problemorientierten Methoden? Apr 02, 2025 am 07:18 AM

Wie lehre ich innerhalb von 10 Stunden die Grundlagen für Computer -Anfänger für Programmierungen? Wenn Sie nur 10 Stunden Zeit haben, um Computer -Anfänger zu unterrichten, was Sie mit Programmierkenntnissen unterrichten möchten, was würden Sie dann beibringen ...

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Wie kann man vom Browser vermeiden, wenn man überall Fiddler für das Lesen des Menschen in der Mitte verwendet? Apr 02, 2025 am 07:15 AM

Wie kann man nicht erkannt werden, wenn Sie Fiddlereverywhere für Man-in-the-Middle-Lesungen verwenden, wenn Sie FiddLereverywhere verwenden ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Was sind einige beliebte Python -Bibliotheken und ihre Verwendung? Mar 21, 2025 pm 06:46 PM

In dem Artikel werden beliebte Python-Bibliotheken wie Numpy, Pandas, Matplotlib, Scikit-Learn, TensorFlow, Django, Flask und Anfragen erörtert, die ihre Verwendung in wissenschaftlichen Computing, Datenanalyse, Visualisierung, maschinellem Lernen, Webentwicklung und h beschreiben

Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Apr 01, 2025 pm 11:18 PM

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

See all articles