目录
回复内容:
首页 后端开发 Python教程 怎样才能彻底掌握flask?怎么个学习顺序比较合理?

怎样才能彻底掌握flask?怎么个学习顺序比较合理?

Jun 06, 2016 pm 04:23 PM
programming python web

只了解基本的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

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
两个点博物馆:所有展览以及在哪里可以找到它们
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

手机XML转PDF,转换速度快吗? 手机XML转PDF,转换速度快吗? Apr 02, 2025 pm 10:09 PM

手机XML转PDF的速度取决于以下因素:XML结构的复杂性手机硬件配置转换方法(库、算法)代码质量优化手段(选择高效库、优化算法、缓存数据、利用多线程)总体而言,没有绝对的答案,需要根据具体情况进行优化。

有什么手机APP可以将XML转换成PDF? 有什么手机APP可以将XML转换成PDF? Apr 02, 2025 pm 08:54 PM

无法找到一款将 XML 直接转换为 PDF 的应用程序,因为它们是两种根本不同的格式。XML 用于存储数据,而 PDF 用于显示文档。要完成转换,可以使用编程语言和库,例如 Python 和 ReportLab,来解析 XML 数据并生成 PDF 文档。

XML转换成图片的大小如何控制? XML转换成图片的大小如何控制? Apr 02, 2025 pm 07:24 PM

想要通过XML生成图片,需要使用图形库(如Pillow、JFreeChart)作为桥梁,根据XML中的元数据(尺寸、颜色)生成图片。控制图片大小的关键在于调整XML中<width>和<height>标签的值。然而,在实际应用中,XML结构的复杂性、图形绘制的精细度、图片生成的速度和内存消耗,以及图片格式的选择,都对生成的图片大小产生影响,因此需要深入理解XML结构、熟练掌握图形库,以及考虑优化算法和图片格式选择等因素。

怎么在手机上把XML文件转换为PDF? 怎么在手机上把XML文件转换为PDF? Apr 02, 2025 pm 10:12 PM

不可能直接在手机上用单一应用完成 XML 到 PDF 的转换。需要使用云端服务,通过两步走的方式实现:1. 在云端转换 XML 为 PDF,2. 在手机端访问或下载转换后的 PDF 文件。

xml格式怎么打开 xml格式怎么打开 Apr 02, 2025 pm 09:00 PM

用大多数文本编辑器即可打开XML文件;若需更直观的树状展示,可使用 XML 编辑器,如 Oxygen XML Editor 或 XMLSpy;在程序中处理 XML 数据则需使用编程语言(如 Python)与 XML 库(如 xml.etree.ElementTree)来解析。

xml格式化工具推荐 xml格式化工具推荐 Apr 02, 2025 pm 09:03 PM

XML格式化工具可以将代码按照规则排版,提高可读性和理解性。选择工具时,要注意自定义能力、对特殊情况的处理、性能和易用性。常用的工具类型包括在线工具、IDE插件和命令行工具。

C语言 sum 的作用是什么? C语言 sum 的作用是什么? Apr 03, 2025 pm 02:21 PM

C语言中没有内置求和函数,需自行编写。可通过遍历数组并累加元素实现求和:循环版本:使用for循环和数组长度计算求和。指针版本:使用指针指向数组元素,通过自增指针遍历高效求和。动态分配数组版本:动态分配数组并自行管理内存,确保释放已分配内存以防止内存泄漏。

XML转换成图片的流程是什么? XML转换成图片的流程是什么? Apr 02, 2025 pm 08:24 PM

XML 转换图片需要先确定 XML 数据结构,再选择合适的图形化库(如 Python 的 matplotlib)和方法,根据数据结构选择可视化策略,考虑数据量和图片格式,进行分批处理或使用高效库,最终根据需求保存为 PNG、JPEG 或 SVG 等格式。

See all articles