[译]Flask Framework Cookbook-第一章 Flask配置

第一章 Flask配置

第一章将会帮助你去理解不同的Flask配置方法来满足每个项目各式各样的需求。

在这一章,将会涉及到以下方面:

  • 用virtualenv搭建环境
  • 处理基本配置
  • 基于类的配置
  • 组织静态文件
  • 用实例文件夹(instance floders)进行部署
  • 视图和模型的融合(composition)
  • 用蓝本(blueprint)创建一个模块化的web应用
  • 使用setuptools使Flask应用可安装

介绍

“Flask is a microframework for Python based on Werkzeug, Jinja2 and good intentions.”

何为微小?是不是意味着Flask在功能性上有所欠缺或者必须只能用一个文件来完成web应用?并不是这样!它说明的事实是Flask目的在于保持核心框架的微小但是高度可扩展。这使得编写应用或者扩展非常的容易和灵活,同时也给了开发者为他们的应用选择他们想要配置的余地,没有在数据库,模板引擎和其他方面做出强制性的限制。通过这一章你将会学到一些建立和配置Flask的方法。
开始Flask几乎不需要2分钟。建立一个简单的Hello World应用就和烤派一样简单:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello to the World of Flask!'

if __name__ == '__main__':
    app.run()

现在需要安装Flask,这可以通过pip实现:

$ pip install Flask

之前的一小段就是完整的基于Flask的web应用。导入的Flask类创建的实例是一个web服务器网关接口(Web Server Gateway Interface WSGI)应用。所以代码里的app成为了我们的WSGI应用。因为这个一个独立的模块,我们用__name__'__main__' 字符串做比较。如果我们将这些保存为名字是app.py的文件,这个应用可以使用下面的命令来运行:

$ python app.py 
 * Running on http://127.0.0.1:5000/

现在如果在浏览器中输入http:/127.0.0.1:5000/,将会看见应用在运行。

提示

千万不要将你的文件保存为flask.py,如果你这样做了,将会和导入的Flask冲突。

用virtualenv搭建环境

Flask能够通过使用pip或者easy_install进行安装,但我们应该使用virtualenv来创建应用环境。通过为应用创建一个单独的环境可以防止全局Python被我们自定义的安装所影响。单独的环境是有用的,因为你可以多个应用程序有同一个库的多个版本,或者一些包可能有相同库的不同版本作为它们的依赖。virtualenv在单独的环境里管理这些,不会让任何错误版本的库影响到任何其他应用。

怎么做

首先用pip安装virtualenv,然后创建一个名字为my_flask_env的环境。这同时会创建一个相同名字的文件夹:

$ pip install virtualenv
$ virtualenv my_flask_env

现在运行下面命令:

$ cd my_flask_env
$ source bin/activate
$ pip install flask

这将激活环境并且在其中安装Flask。现在可以在这个环境中对我们的应用做任何事情,而不会影响到任何其他Python环境。

原理

直到现在,我们已经使用pip install flask多次了。顾名思义,这个命令的意思是安装Flask,就像安装其他Python包一样。如果仔细观察一下通过pip安装Flask的过程,我们将会看到一些包被安装了。下面是Flask包安装过程的一些摘要:

$ pip install -U flask
Downloading/unpacking flask
......
......
Many more lines......
......
Successfully installed flask Werkzeug Jinja2 itsdangerous markupsafe
Cleaning up...
提示

在前面的命令中,-U指的是安装与升级。这将会用最新的版本覆盖已经存在的安装。
如果观察的够仔细,总共有五个包被安装了,分别是flask,Werkzeug,Jinja2,itsdangerous,markupsafe。Flask依赖这些包,如果这些包缺失了,Flask将不会工作。

其他

为了更美好的生活,我们可以使用virtualenvwrapper。顾名思义,这是对virtualenv的封装,使得处理多个virtualenv更容易。

提示

记住应该通过全局的方式安装virtualenvwrapper。所以需要停用还处在激活状态的virtualenv,可以用下面的命令:

$ deactivate

同时,你可能因为权限问题不被允许在全局环境安装virtualenvwrapper。这种情况下需要切换到超级用户或者使用sudo。

可以用下面的命令来安装virtualenvwrapper:

$ pip install virtualenvwrapper
$ export WORKON_HOME=~/workspace
$ source /usr/local/bin/virtualenvwrapper.sh

在上面的代码里,我们安装了virtualenvwrapper,创建了一个名字为WORKON_HOME的环境变量,同时给它赋值了一个路径,当用virtualenvwrapper创建虚拟环境时,虚拟环境将会安装在这个路径下面。安装Flask可以使用下面的命令:

$ mkvirtualenv flask
$ pip install flask
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值