Flask project 的学习 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
dcoder
V2EX    Python

Flask project 的学习

  •  1
     
  •   dcoder 2013-01-02 10:34:12 +08:00 10883 次点击
    这是一个创建于 4732 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人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 中。
    22 条回复    1970-01-01 08:00:00 +08:00
    panxianhai
        1
    panxianhai  
       2013-01-02 10:41:00 +08:00   1
    我想学python很久了,但是不停的在门口打转,这个系列的教程可能对你有帮助。
    http://www.oschina.net/translate/the-flask-mega-tutorial-part-i-hello-world

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

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

    https://github.com/danjac/newsmeme
    notedit
        19
    notedit  
       2013-01-07 12:27:29 +08:00
    @dcoder 在北京 移动互联网
    dcoder
        20
    dcoder  
    OP
       2013-01-07 14:28:50 +08:00
    @spark 不过听说 newsmeme 常年没更新了,已经不在有人maintain了
    @notedit 唉,不在一个地方
    dcoder
        21
    dcoder  
    OP
       2013-01-12 05:34:28 +08:00
    大家 Flask app 一般都怎么deploy的。
    我看官方文档上也有用 Tornado的
    http://flask.pocoo.org/docs/deploying/
    http://flask.pocoo.org/docs/deploying/wsgi-standalone/
    dcoder
        22
    dcoder  
    OP
       2013-01-12 05:55:27 +08:00
    Flask 要是有下面这种带图的源码分析就好了
    http://blog.csdn.net/goldlevi/article/details/7047726
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2867 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 14:15 PVG 22:15 LAX 06:15 JFK 09:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86