1. 前言
本篇我们通过编写第一个Flask程序,来了解Flask的基本情况。
2. 第一个程序
我们先看代码:
from flask import Flask
app=Flask(__name__)
@app.route('/')
def hello():
return 'hello world!'
if __name__=='__main__':
app.run()
1
2
3
4
5
6
7
8
9
逐一解析:
from flask import Flask,表示导入Flask框架的类
app=Flask(__name__),我们使用Flask类实例化了一个对象,名为app,所以该对象就具备了Flask框架的能力。比如可以接受HTTP请求并响应。
app=Flask(__name__),参数为__name__,这就将Flask对象和当前程序关联起来,也就是说Flask知道当前程序启动位置在哪个模块,然后Flask可以根据这个模块的情况去加载相应的资源,例如静态文件等。
@app.route('/')这个装饰器的作用是给下面的方法,添加了一个路由(route)装饰,也就是说当请求的路由匹配到/的时候,会调用hello()方法进行处理。
app.run()是让应用程序运行起来,前面的if是为了确保脚本被Pyhon解释器直接执行时候,才会运行。因为只有直接执行该py文件,__name__的值才是'__main__'。
补充一下,如果不是直接运行的当前hello.py文件,而是作为一个模块导入的,那么app.run()就不会运行了,因为if条件不成立。
3. 运行代码
可以在VSCode里面直接按F5运行,控制台显示如下,可以看到程序已经在127.0.0.1:5000运行了,Flask默认的启动端口就是5000,另外可以按Ctril+C停止运行。
* Serving Flask app 'hello' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
1
2
3
4
5
6
打开网页访问后,效果如下,课间我们的程序已经能够响应简单的HTTP请求了。
4. 小结
通过这一个例子就能看出,Flask真是非常简洁啊。