Python Flask框架的一些理解

Flask是一个用python编写的WSGI应用框架,我们使用他的时候,只需要专注于从网络请求到网络响应的过程中的逻辑处理,而无需关注网络层面的操作。
他可以很简单地使用pip来安装:

pip install flask

Hello Flask

编写一个Flask的Hello world相当容易

1 导入Flask

from flask import Flask

2 实例化Flask

app = Flask(__name__)

Flask类的构造参数是引入名,Flask使用这个名字进行静态资源、模板信息和错误的定位,一般情况下,我们总是使用__name__

3 注册路由

@app.route('/')
def index:
  return 'Hello Flask'

注册路由就是建立URL和处理关系之间的联系,HTTP请求在Flask中依赖于注册的路由进行转发。
路由的注册使用的是python的特殊语法,修饰器,他将会把对应的URL规则绑定到对应的函数上,这个函数被称为视图函数,当来自对应URL的HTTP请求被WSGI服务器接收后,将会执行对应的视图函数。

4 启动WSGI服务器

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

路由规则

1 HTTP方法

在Flask中可以通过methods参数来指定使用的方法,如果不声明,则默认支持GET与POST方法

@app.route('/test', methods=['POST', 'GET'])
def test():
  if request.method == 'GET':
    return 'get method response'
  if request.method == 'POST':
    return 'post mehod response'

2 匹配动态URL

在路由器修饰器中,可以在URL规则中使用尖括号来声明变量,同时为视图函数声明对应的参数。

@app.route('/hello/')
def say_hello():
  return 'hello %s' % username

其中,这个参数还可以使用变量类型过滤。

@app.route('/hello/')

Flask将会对对应的参数进行预处理:

  • string - 匹配不包含/的字符串,这是默认的转换器。
  • path - 匹配包含/的字符串。
  • int - 只有当URL中的变量是整型值时才匹配,并将变量转换为整型。
  • float - 只有当URL中的变量是浮点值时才匹配,并将变量转换为浮点型。

3 静态文件目录

在Flask中,static文件夹将会成为默认的静态文件目录,如果你想要指定特殊的静态文件目录,可以在Flask的实例化过程中使用

app = Flask(__name__, static_folder='/var/www/static')

That's it, 就是这么简单。

你可能感兴趣的:(Python Flask框架的一些理解)