Flask project 的学习

2013-01-02 10:34:12 +08:00
 dcoder
本人Python和web的知识都是今年才开始正经学习的。之前是写C/C++的程序猿,感觉自己编程还好,Python用起来非常爽,只是web server的东西没太多经验。在Python-china也发了这个帖子,请大家原谅我在不同的地方重复发帖 :)

关于Python web framework,做了一堆功课,觉得最值得学习的, 并且可以正经拿来做网站的,应该是 Flask 和 Tornado. Flask 的开发组 pocoo 提供了很多配套的 extensions/plugins,所以应该用起来更方便。

于是,这两天在学习Flask,由于是学习的第一个web framework, 仔细看完了Flask的官方tutorial后,觉得还有很多不是很明白。准备开始看各种Flask project的源代码 和 Flask 本身的源代码。

希望能把这个帖子做成Flask的学习notes。


准备参考的projects:

https://github.com/lepture/june
这个project, 不知道Python-China那边的站长还准备继续 maintain/update 不。
hack过这个的朋友,有无推荐的hacking顺序?
我的目标就是做一个像V2EX, Python-china, Ruby-china, 或者StackOverflow这种以tag(或者说node)为主的网站。我希望理解大部分工作原理,不是拿一个改改就了事。

https://github.com/guotie/flaskbbs

https://github.com/laoqiu/pypress


还有个阅读Python源码的问题。看源码时,我觉得 “jump to definition” 功能不好的话,实在是没法看。

我在用 “Eclipse+PyDev” 或者 “Sublime Text 2 + CTags plugin”.
在我Mac上,直接用的 “pip install flask"后,在"Eclipse+PyDev” 环境里,import了Flask的模块的地方,是可以直接jump到Flask相关源文件的(比如从 “my_flask_demo.py” 里,跳转到 “/Library/Python/2.7/site-package/flask/app.py”)。

但是不知道在 “Sublime Text 2"里面如何方便地设置这种跳转,不会是需要手动配置 CTags吧? 我是说,我希望在ST2里面可以从一个普通的.py文件跳转到系统里相应的 installed Python library source file 中。
10478 次点击
所在节点    Python
22 条回复
panxianhai
2013-01-02 10:41:00 +08:00
我想学python很久了,但是不停的在门口打转,这个系列的教程可能对你有帮助。
http://www.oschina.net/translate/the-flask-mega-tutorial-part-i-hello-world

创建一个虚拟环境开发比较适合我,哪天不想学了,直接删掉目录,对我的mac环境没有影响,我还是喜欢干净一点的环境。
notedit
2013-01-02 16:19:20 +08:00
aisk
2013-01-02 16:37:24 +08:00
june的那个其实跑的还是Tornado的版本,Flask那个貌似只写了一半
cloudbeyond
2013-01-02 17:03:45 +08:00
@panxianhai 这个好,已感谢

也希望楼主继续更新下去
dcoder
2013-01-02 23:09:19 +08:00
@notedit 这个看着不错!谢谢
dcoder
2013-01-05 02:04:36 +08:00
For Flask 0.9
<amp-youtube data-videoid="KOvgfbBFZxk" layout="responsive" width="480" height="270"></amp-youtube>https://speakerdeck.com/mitsuhiko/advanced-flask-patterns
n00b1
2013-01-05 09:39:26 +08:00
@panxianhai 谢谢分享,很不错的文章,我也学习学习
guotie
2013-01-05 10:17:08 +08:00
关于flaskbbs的问题可以问我。
guotie
2013-01-05 10:18:19 +08:00
python的编辑器可以使用pycharm,很好用
spark
2013-01-05 13:48:51 +08:00
virtualenv 可以换成 virtualenvwrapper, 配合 zsh, 爽~
spark
2013-01-05 13:51:46 +08:00
另外 flask-base 的结构要看个人喜好和项目大小, 目前 Flask 官方推荐用 blueprint 来组织 app.
dcoder
2013-01-05 15:04:10 +08:00
@guotie 好的,有问题问你
在用 Eclipse+pycharm, 因为不知道在ST2里如何方便地关联 installed python libraries.
notedit
2013-01-06 13:15:23 +08:00
我们现在在用flask 而且在招人
dcoder
2013-01-06 13:58:41 +08:00
你们在哪个城市啊,你们的产品大概是做什么的? :)
hussion
2013-01-06 21:40:15 +08:00
推荐pycharm...
lyoe
2013-01-06 22:07:27 +08:00
@hussion 同推荐PyCharm,看源码很方便。
dcoder
2013-01-06 23:21:27 +08:00
sorry看错了,以为 PyCharm == PyDev
spark
2013-01-07 12:21:22 +08:00
flaskbbs 和 pypress 都没有用 blueprint,
如果是这样的话不如直接去看newsmeme

https://github.com/danjac/newsmeme
notedit
2013-01-07 12:27:29 +08:00
@dcoder 在北京 移动互联网
dcoder
2013-01-07 14:28:50 +08:00
@spark 不过听说 newsmeme 常年没更新了,已经不在有人maintain了
@notedit 唉,不在一个地方

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/56390

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX