1 from flask import Flask 2 app = Flask(__name__) 3 4 @app.route('/') 5 def index(): 6 return '<h1>Hello World!</h1>' 7 @app.route('/user/<name>') 8 def user(name): 9 return '<h1>Hello,%s!</h1>' %name 10 if __name__ == '__main__' 11 app.run(debug=True)
代码 分析
4-6行
客户端(例如web浏览器)把请求发送给Web服务器,web服务器再把请求发送给Flask程序实例,程序实例需要知道对每个URL请求运行那些代码,所以保存了一个URL到python函数的映射,处理URL和函数之间关系的程序称为路由,route()装饰器用于将一个URL绑定到一个函数中。其中index()这样的函数称为视图函数,这个函数的返回值称为响应,是客户端接收到的内容
7-9
通过把 URL 的一部分标记为 <variable_name>
就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。通过使用 <converter:variable_name>
,可以 选择性的加上一个转换器,为变量指定规则。例如如果想让name是int类型 可以写成('/user/int:name')。
11行
debug=True参数用于代开调试模式,此时服务器在做完修改后自动重启,同时应该出错时还会提供一个调试器 ,需要注意的是虽然交互调试器不能在分布环境下工作(这使得它基本不可能用于生产环境),但是 它允许执行任意代码,这样会成为一个重大安全隐患。因此, 绝对不能在生产环境 中使用调试器 。