搭建一个简单的Flask程序
2018-10-16 本文已影响534人
CP9
Flask 扩展文档汇总
使用Pipenv搭建Flask开发环境
可参考Pipenv搭建开发环境(Windows)
进入到项目demo01
的当前路径执行以下命令(不需要激活虚拟环境):
C:\Users\woshi\PycharmProjects\demo01>pipenv install flask
在执行上述命令会在项目中安装以下五个依赖包:
pipenv安装flask.jpg
在项目demo01中创建一个app.py文件
from flask import Flask;
app = Flask(__name__)
@app.route('/')
def hello():
return "<h1>hello flask!</h1>"
启动内置的开发服务器
在虚拟环境下执行下列命令:
(demo01) C:\Users\woshi\PycharmProjects\demo01>flask run
注意:如果在项目中创建的主程序模块名叫main.py,执行
flask run
命令会报Error: Could not locate a Flask application. You did not provide the "FLASK_APP" environment variable, and a "wsgi.py" or "app.py" module was not found in the current directory
的错误。因为当我们运行程序时,Flask会根据以下规则自动探测程序实例:
- 从当前目录寻找app.py和wsgi.py模块,并从中寻找名为app或application的实例
- 从环境变量FLASK_APP对应的值寻找名为app或application的实例
因此,我们可以通过修改FLASK_APP环境变量来解决:
set FLASK_APP=main
python-dotenv管理环境变量
- 安装python-dotenv
pipenv install python-dotenv
- 在项目根目录创建
.flaskenv
文件用来存储和Flask相关的环境变量,例如:
#默认为app.py
FLASK_APP=main
#默认为5000
FLASK_RUN_PORT=6666
#默认为localhost
FLASK_RUN_HOST=0.0.0.0
#development为开发环境,production为生产环境
FLASK_ENV=development
#1为开启,0为关闭
FLASK_DEBUG=1
也可以创建.env
文件用来存储包含敏感信息的环境变量,例如:
注意:如果使用了python-dotenv管理环境变量,那么Flask在加载环境变量的优先级是:手动设置的环境变量(例如:
set FLASK_APP=main
)>.env中设置的环境变量>.flaskenv中设置的环境变量
设置Flask内置配置
- 设置单个配置
app.config['TESTING'] = True
- 设置多个配置
app.config.update(
TESTING=True,
SECRET_KEY=b'_5#y2L"F4Q8z\n\xec]/'
)