Flask入门
安装
使用pip快速安装flask
pip install flask
一个简单的flask程序
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return """
this is index page
<br>
<a href='hello'><button>jump to hello</button></a>
"""
@app.route('/hello')
def hello():
return """
this is hello page
<br>
<a href='/'><button>jump to index</button></a>
"""
if __name__ == "__main__":
app.debug = True
app.run()
那么,这段代码做了什么?
- 首先,我们导入了 Flask 类。这个类的实例将会是我们的 WSGI 应用程序。
- 接下来,我们创建一个该类的实例,第一个参数是应用模块或者包的名称。 如果你使用单一的模块(如本例),你应该使用 __name__ ,因为模块的名称将会因其作为单独应用启动还是作为模块导入而有不同( 也即是 ‘__main__’ 或实际的导入名)。这是必须的,这样 Flask 才知道到哪去找模板、静态文件等等。详情见 Flask 的文档。
- 然后,我们使用 route() 装饰器告诉 Flask 什么样的URL 能触发我们的函数。
这个函数的名字也在生成 URL 时被特定的函数采用,这个函数返回我们想要显示在用户浏览器中的信息。 - 最后我们用 run() 函数来让应用运行在本地服务器上。 其中 if __name__ == ‘__main__’: 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。
- 欲关闭服务器,按 Ctrl+C。
本例在官方给出的示例上做出了一些扩展,在扩展中我们显而易见,flask函数返回字符串可以直接是html标签,并且通过装饰器可以简单将一个函数绑定到一个URL上。但是,不仅如此!你可以构造含有动态部分的 URL,也可以在一个函数上附着多个规则。
变量规则
要给 URL 添加变量部分,你可以把这些特殊的字段标记为 <variable_name> , 这个部分将会作为命名参数传递到你的函数。规则可以用 < converter:variable_name > 指定一个可选的转换器。
@app.route('/user/<username>')
def user(username):
return "welcome %s" % username
@app.route('/id/<int:id>')
def id(id):
return 'your id is %d' % id