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 · 10458 次点击
    这是一个创建于 4350 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人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...
    lyoe
        16
    lyoe  
       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   ·   实用小工具   ·   2839 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 09:06 · PVG 17:06 · LAX 01:06 · JFK 04:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.