搜索
首页后端开发Python教程怎样才能彻底掌握flask?怎么个学习顺序比较合理?

只了解基本的python语法。看了the foudation of python web programming的web部分,感觉没啥收获。wsgi在看,但看不懂。。有点不知道从何学起了。。。大虾们指点一下吧。

回复内容:

推荐Flask Web Development这本书,循序渐进每一小节都有git tag,很方便看代码。
不要太关注细节,如你提到的wsgi,先整体,后细节,而疑惑就需要自己进入源码找答案了。
要深入学习还是需要看源码,了解flask的原理。比如context,request, session的原理;如何增加模板filter,如何注入方法;flask_sqlalchemy的db session也是构建在context上,具体原理;flask_cache的细节,memoize如何通过类方法清空实例方法的cache;jinja2的filter.py中的filter是否熟悉,bccache是否对你有用,深入了解模板原理。
当遇到阻塞请求,如调用外部api时,如何提高系统吞吐量;用flask如何实现长连接(Comet)。。。(借助gevent,想明白后你就会发现其实tornado最有优势的优点其实不过如此)
其实单纯的一个框架是有限的,难点在于如何和其它组件更好更高效的工作。 1. 最起码理解网络,http这层肯定要理解
2. 熟悉python,这是个过程,学习加实践
3. 学习官方文档,官方文档是最全的也是意图最明确的。
4. 写demo,不会写多看看别人怎么写,自己就会了。
5. 研究某一点,深入到源码,有时候源码也看不懂可以请教一下其他人。

对于想深入flask内部我觉得由简到难需要看的(自己感觉)。

1. config原理
2. 路由原理
3. Wsgi接口调用
4. 理解session
5. 理解threading.local
6. 理解flask自己封装的thread local
7. 理解g和request
8. 理解app context和request context 首先必须赞一下 pocoo,pocoo 的文档很规范,解释得很清晰。建议楼主直接看英文原文来学习 Flask。
接着回答问题。
我认为学习 Flask 难点不在于如何使用 Flask,而是对 Python 的使用,以及对 Web 框架的理解。理解如何使用 Web 框架开发网站的话,Flask 学习起来应该是很顺利的。
有一些概念是需要明白的,例如 MVC 开发模式、Route 定义、HTTP Method 之类。
当然 Flask 还有自己的特点,如 Blueprint 和 Testing 部分,建议楼主学一学。

对 Flask 框架基本了解之后,可以看看 Github 上一些基于 Flask 的网站源码,例如 June (pythoncn/june 路 GitHub) 。
最后,聪明的开发者是不会自己早轮子的。下面是 Python-China 一网友收集的 Flask 资源:
humiaozuzu/flask-dev-bookmarks 路 GitHub
github.com/humiaozuzu/f 同在学flask,本来看中文教程,现在准备放弃。。
在跟着教程做的时候,遇到几个问题:
1.自己不理解Web开发的基本知识,不知道Web框架应该有哪些作用
2.中文文档坑啊!步骤 2: 应用设置代码这里,步骤2后面的链接是步骤4(坑了之后才发现链接错误),跟做完后无法运行,对照英文文档后发现还漏了一些代码没说到。。

打算按之前答案说的,先了解Web框架的基础知识吧。
刚刚搜了一下,推荐这篇文章:【译】什么是 web 框架? 学flask看这个教程 The Flask Mega-Tutorial, Part III: Web Forms 特别好 flask?很难学吗?

wsgi可以看很多的例子,比如这个archimedeanco.com/wsgi-
flask本身简单到不能再简单,所以如果你觉得难,那么显然是没学好基础,建议你先从基础学起,比如web开发基本知识:session管理啊,template啊神码的,然后学flask一天就差不多了…… 以下内容节选自我的博客《Flask入门指南》,不知道对你有没有帮助。
Flask 入门指南

--------

Flask入门

Flask上手非常容易,仅仅看完Flask官方文档中的Quickstart部分,就可以实现简单的网站了。当然,网站看起来好不好,与html, CSS和js水平有关,这不在Flask的使用范围之内。


Flask精通

若要精通Flask,仅仅通过Quickstart快速入门完全不够,那怎样才能把Flask用好呢?用好Flask没什么特殊的捷径,靠的依然是『多使用、多思考、多看他人优秀的代码』,经验可能是编程世界里最恰当称之为掌握新技术的捷径的东西,而经验的积累却又是一个漫长的过程,靠的也是『多使用、多思考、多看他人优秀的代码』。Flask的精通要靠自己努力,优秀的资料可以分享。我在这里推荐几个我觉得不错的资料,欢迎大家补充。


(1) Flask官方文档

Flask官方文档写的还是相当不错的,作为学习Flask的第一手资料没有问题,且Flask官方的Snippets,对开发很有帮助,也能避免开发者花太多时间考虑重复的轮子如何开发


(2) Flask Web开发

这本书相当不错,通过这本书的学习,基本能做到Flask从入门到精通,也是我建议的第一手Flask学习资料。书中介绍的Flask构建大型项目的架构方式,很是受用,很有实际意义。


(3) miguelgrinberg.com

上面图书作者的博客,是积累Flask开发经验的好资料


(4) Write a Tumblelog Application with Flask and MongoEngine

这是MongoDB官方文档中的一个教程,也是学习Flask开发的一个很好案例,尤其适合Flask MongoDB开发的应用场景


(5) Flask 源码

Flask 本身是一个非常优秀的Python库,阅读其源码对理解Flask及提高Python开发水平非常有帮助。


(6) The Hitchhiker’s Guide to Python!

这个资料虽然不直接与Flask有关,但对初学者,绝对有学习的价值

我想跟着这个问题问问各位,根据以上的回答呢,我觉得要学flask,首先得学习一部分网页开发的知识,然后是要能熟悉运用python进行编码,最后再看flask文档或项目源码跟着学,我这样理解对吗?同时我也想问问如果学flask需要先学习一部分知识,就像前面有人说的“web开发基本知识:session管理啊,template啊神码的”,能不能具体讲讲这部分“必要知识”是什么?(因为我是先学python编程的,现在想转入用python做网页开发,所以想问问有哪些“基本知识”要学,求帮忙!) 我们都知道,想要精一行,必须通十行。

比如你想精通Flask,就不仅仅是要整天专研Flask,还需要你懂HTML、CSS、JavaScript、python、SQL,当你程序写好了,要部署还需要懂Linux,懂运维。

所以在“彻底掌握flask”这条路上,建议除了学习flask之外,还要把精力放在Web前端后端的“本质”的学习,flask只是术,而后者是道。 直接看官方文档,写的很清楚;
看The Flask Mega,很快就能入门。开源中国上有翻译。
github上的flask相关项目拿下来看看
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Python vs. C:了解关键差异Python vs. C:了解关键差异Apr 21, 2025 am 12:18 AM

Python和C 各有优势,选择应基于项目需求。1)Python适合快速开发和数据处理,因其简洁语法和动态类型。2)C 适用于高性能和系统编程,因其静态类型和手动内存管理。

Python vs.C:您的项目选择哪种语言?Python vs.C:您的项目选择哪种语言?Apr 21, 2025 am 12:17 AM

选择Python还是C 取决于项目需求:1)如果需要快速开发、数据处理和原型设计,选择Python;2)如果需要高性能、低延迟和接近硬件的控制,选择C 。

达到python目标:每天2小时的力量达到python目标:每天2小时的力量Apr 20, 2025 am 12:21 AM

通过每天投入2小时的Python学习,可以有效提升编程技能。1.学习新知识:阅读文档或观看教程。2.实践:编写代码和完成练习。3.复习:巩固所学内容。4.项目实践:应用所学于实际项目中。这样的结构化学习计划能帮助你系统掌握Python并实现职业目标。

最大化2小时:有效的Python学习策略最大化2小时:有效的Python学习策略Apr 20, 2025 am 12:20 AM

在两小时内高效学习Python的方法包括:1.回顾基础知识,确保熟悉Python的安装和基本语法;2.理解Python的核心概念,如变量、列表、函数等;3.通过使用示例掌握基本和高级用法;4.学习常见错误与调试技巧;5.应用性能优化与最佳实践,如使用列表推导式和遵循PEP8风格指南。

在Python和C之间进行选择:适合您的语言在Python和C之间进行选择:适合您的语言Apr 20, 2025 am 12:20 AM

Python适合初学者和数据科学,C 适用于系统编程和游戏开发。1.Python简洁易用,适用于数据科学和Web开发。2.C 提供高性能和控制力,适用于游戏开发和系统编程。选择应基于项目需求和个人兴趣。

Python与C:编程语言的比较分析Python与C:编程语言的比较分析Apr 20, 2025 am 12:14 AM

Python更适合数据科学和快速开发,C 更适合高性能和系统编程。1.Python语法简洁,易于学习,适用于数据处理和科学计算。2.C 语法复杂,但性能优越,常用于游戏开发和系统编程。

每天2小时:Python学习的潜力每天2小时:Python学习的潜力Apr 20, 2025 am 12:14 AM

每天投入两小时学习Python是可行的。1.学习新知识:用一小时学习新概念,如列表和字典。2.实践和练习:用一小时进行编程练习,如编写小程序。通过合理规划和坚持不懈,你可以在短时间内掌握Python的核心概念。

Python与C:学习曲线和易用性Python与C:学习曲线和易用性Apr 19, 2025 am 12:20 AM

Python更易学且易用,C 则更强大但复杂。1.Python语法简洁,适合初学者,动态类型和自动内存管理使其易用,但可能导致运行时错误。2.C 提供低级控制和高级特性,适合高性能应用,但学习门槛高,需手动管理内存和类型安全。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)