# app.pyfrom flask import Flaskapp = Flask(__name__)@app.route('/')def hello():return 'Welcome to My Watchlist!'
确保 app.py 是项目根目录,flask run启动程序。
Flask 框架理解
1. app 启动
app = Flask(__name__):基于 Flask类创建一个实例,__name__是 Python 内置变量,表示当前模块(一个 Python 文件就是一个模块)。
�源码中对于name的解释::param import_name: the name of the application package
�print(__name__)是app,说明__name__是当前 module 的名称。
2. 视图函数和路由绑定
hello()表示视图函数,就是如何处理页面内容的函数。@app.route('/')是绑定路由。绑定了hello()这个视图函数,在用户访问/时触发。
(/对应的是 host后的路径,完整 URL是:)http://localhost:5000/
3. 整个过程
整个请求的处理过程如下所示:
1.当用户在浏览器地址栏访问这个地址,在这里即 http://localhost:5000/
2.服务器解析请求,发现请求 URL 匹配的 URL 规则是 /,因此调用对应的处理函数 hello()
3.获取 hello() 函数的返回值,处理后返回给客户端(浏览器)
4.浏览器接受响应,将其显示在窗口上
4. 程序发现机制 Flask_APP
在 terminal直接执行flask run,Flask框架如何识别你的那个文件才是你的应用入口呢?Flask默认会假设你把应用程序的入口设置为app.py或者wsgi.py文件中。
如果找不到,则会报错如下:
自定义应用名称,需要设置系统环境变量Flask_APP告诉 FLask要启动哪个程序。export FLASK_APP=your_app_name.py
5. 开发还是生产 Flask_ENV
FLASK_ENV 用来设置程序运行的环境,默认为 production。
开发时,将FLASK_ENV 设置为development开启debug mode。debug mode:
- 程序出错,浏览器会显示错误信息和可以 debug;
- 代码变动后,程序会自动重载。



