Hello Flask,用VSCode开发Python Web应用
紧接上一篇文章,假设大家已经完成了Flask的Hello World。
https://www.jianshu.com/u/a90186d20ed4
这里继续介绍使用VSCode进行debug和更多的Flask使用。
修改程序
为应用添加一个路由,接收两个参数,代码变为下面。记得这里import了一个request哦。
from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello Flask'
@app.route('/plus')
def plus():
x = request.args.get('x', 'Flask')
y = request.args.get('y', 'Flask')
z = x + y
return '<h1>x+y=%s</h1>' % z
然后还是在termianl中运行命令 python -m flask run。
注意terminal是否已经进入到了虚拟环境。(命令行最前面有“(env)”字样)。如果没有则exit退出,然后ctrl+shift+`重新打开terminal。
验证
在浏览器中打开 http://localhost:5000/plus?x=6&y=6
这里我们增加了一个路由,然后希望计算x+y的结果。
结果呢,这里得到的是“x+y=66”。
有问题,需要debug一下了。
Debug
1. 在plus函数的第一行添加一个断点(在行号左边点击或者在该行按F9)。
2. Ctrl+Shift+D 打开Run View。创建一个Flask类型的launch.json。
3. 回到app.py,F5开始debug。
- 在浏览器中打开http://localhost:5000/plus?x=6&y=6,然后在VSCode就回运行到断点位置。使用F10,step by step运行。很快我们就发现,问题是参数默认是string,我们要将其转换为int。
5. 修改代码,Ctrl+F5,运行。刷新浏览器,这次可以看到我们想要的结果了。
x = int(request.args.get('x', 'Flask'))
y = int(request.args.get('y', 'Flask'))
补充:
如果你要一个更详细的指导,而又不介意英文阅读,可以查看Microsoft的指南
https://code.visualstudio.com/docs/python/tutorial-flask