首先,简单介绍一下背景。


Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。



Flask使用 BSD 授权。
当然,以上这些都是废话, 我们只需要知道Flask是一个web应用框架就行了,通俗点儿讲就是可以给web前台提供后台需求。以下开始正文:
      1. flask的安装       
          在ubuntu下可以sudo apt-get install flask,具体的安装不再赘述。
      2. flask的使用
          首先应该在python脚本中引入Flask模块。

from flask import Flask


          然后我们需要获取一个类似句柄的东西app,所有的操作都要通过app来执行。



app = Flask(__name__)


          设计一个简单的URL:根目录 '/'



@app.route('/')


          这个URL是提供给web前台的接口,有了接口,我们也得提供接口内容。紧接着在这个URL下设计一个函数,函数名可以跟URL无关,不过出于可读性考虑,这里讲函数名设计为index。



def index():  
    return 'hello world'


          最后一步,启动整个程序:



app.run(host='0.0.0.0',debug = True)


          完整代码如下:



#!bin/python  
from flask import Flask
app = Flask(__name__)  
 
@app.route('/')  
def index():  
    return 'hello world'  

app.run(host='0.0.0.0', debug = True)


         文件保存为run.py,在命令行执行./run.py运行程序


          好的,以上我们可以看到,当用户访问根目录的时候我们会返回一个’hello world'。以下我们来验证一下。

         打开IE浏览器,在地址栏输入http://192.168.6.30:5000/ ,回车,会看到页面显示‘hello world'.


现在来讨论一下以上代码的几处细节。



  • 关于服务的监听端口,如果不设置的话,flask默认监听5000端口,如果我们要自定义监听端口,可以在调用run方法的时候加入port参数,如下所示:
app.run(host='0.0.0.0', port=8000, debug = True)





  • 关于对URL的设计上,这里说一个对查询组件的支持,就是类似于https://x.x.x.x:port/select?key=value这种URL。比如如果要设计https:/blog?name=lilei&password=123这种接口,我们可以这样设计URL:
@app.route('/blog')
def blog():
    print request.args
    return 'ok'




?表示后边是查询参数,是一种key-value对的形式。那么当我们访问https:/blog?name=lilei&password=123时,flask会将http请求分发到以上URL下,参数是{‘name':'lilei', 'password':'123'}。我们可以来验证一下。首先需要从flask中import进来几个模块

from flask import Flask, request, Response


传入的参数放在request.args中

我们可以从后台终端的打印看到{‘name':'lilei', 'password':'123'}