前言
知道了什么是flask,而且你还会写python,又知道该如何安装环境、项目结构等准备,接下来就可以看看flask是如何帮助我们搭建web应用的了
1.一个最小的Flask应用
来源于Flask中文API 的
hello.py
,建议去api参考更详细内容
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!
- 运行这段代码:
给这段代码加个__main__
的运行条件,调用这个实例化的app.run()
就可以了:
if __name__ == '__main__':
app.run()
当然:你想在控制台运行,或者服务器上运行的时候总是要用控制台的,要先导出你的app:
linux下:
$ export FLASK_APP=hello.py
$ flask run
window的poweshell下:
PS C:\path\to\app> $env:FLASK_APP = "hello.py"
PS C:\path\to\app> flask run
2.flask做了什么
当你运行时,你会发现,flask给你在本地启动了一个服务器,用以接收和发送网络请求,给了你个地址:
http://127.0.0.1:5000/
你访问该地址进入到的根目录打印出了hello world
分析下上面的代码,也可以猜到,当你进入这个地址的时候是进入了跟目录“/”下,所以flask 帮你路由(route)到对应的代码,并且返回了hello world,我们来验证一下是不是这样的逻辑?
- 增加一个函数,我们可以称之为
视图函数
,并且增加路由到装饰器“/new_page/
”试试:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!
@app.route('/new_page/')
def hello_new_page():
return "Hello, new page!"
if __name__ == '__main__':
app.run()
显然是可以的:
小结:flask 的页面导航由装饰器函数@app.route()
完成,输入不同的网址由对应的函数监听到并进入函数内部处理逻辑并返回结果。