Miguel Grinberg是个很牛的软件工程师,尤其网络工程师,用过很多的语言编写过web app,包括PHP、Ruby、Smalltalk,甚至是C++,他认为Python/Flask相接合是其中最灵活易用的组合(我也这么认为,至少现在),他还编写了一本书叫做《Flask Web Development》都是在开发中总结的技术经验,2014年出版(点我下载)。

通过这系列教程,你可以使用Flask开发一个blog,然而学到的东西可远不止这些。既然有人(还是个大牛人),分享了开发经验,那我们就站在他的肩膀上吧,开始~~

关于教程中使用的App——microblog

microblog将逐渐涵盖以下内容:

可见,这不仅是一个blog,而是涵盖了Web App开发的所有流程,然后你就可以用flask开发其他Web App了。

系统需求

你有一台能运行Python的电脑,最好你习惯于命令行开发(terminal for linux and command prompt for Windows)和你的操作系统的基础的文件管理。

还有,你得懂Python!^_^

安装Flask

如果没安装Python,安装

每个Python开发者都会强烈推荐你使用Python虚拟环境 Virtual environment来安装你的App环境,好处多多,我们也使用这个。

选一个位置,创建一个microblog的文件夹,我们就在这里干活了。

如果你使用Python3.4+,那么其已内置了vitual evn,直接在根目录下执行:

$ python -m venv flask

其他版本的Python的安装,如果在Mac上可以:

$ sudo easy_install virtualenv

如果在linux上,比如ubuntu,可以:

$ sudo apt-get install python-virtualenv

Windows用户最让人头痛,所以最好安装Python3.4,否则最好安装pip,然后在命令行,这样安装:

pip install virtualenv

等安装完毕后,在根目录下使用以下命令创建虚拟环境:

$ virtualenv flask

然后到flask/bin目录下,激活虚拟环境:

$ source flask/bin/activate

注:关闭虚拟环境直接使用deactivate

$ (flask) deactivate

开始安装:

Linux, OS X, 或者Cygwin,通过以下命令安装flask和其扩展,一个一个安装:

$ flask/bin/pip install flask
$ flask/bin/pip install flask-login
$ flask/bin/pip install flask-openid
$ flask/bin/pip install flask-mail
$ flask/bin/pip install flask-sqlalchemy
$ flask/bin/pip install sqlalchemy-migrate
$ flask/bin/pip install flask-whooshalchemy
$ flask/bin/pip install flask-wtf
$ flask/bin/pip install flask-babel
$ flask/bin/pip install guess_language
$ flask/bin/pip install flipflop
$ flask/bin/pip install coverage

Windows上,有点不同:

$ flask\Scripts\pip install flask
$ flask\Scripts\pip install flask-login
$ flask\Scripts\pip install flask-openid
$ flask\Scripts\pip install flask-mail
$ flask\Scripts\pip install flask-sqlalchemy
$ flask\Scripts\pip install sqlalchemy-migrate
$ flask\Scripts\pip install flask-whooshalchemy
$ flask\Scripts\pip install flask-wtf
$ flask\Scripts\pip install flask-babel
$ flask\Scripts\pip install guess_language
$ flask\Scripts\pip install flipflop
$ flask\Scripts\pip install coverage

这些包我们将在microblog中用到。

“Hello, World”

Refer: http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world