实例程序在helloflask/demos/hello目录下
1.最小的Flask程序
在hello目录下的app.py脚本中包含了一个最小的Flask程序。
from flask import Flask #从flask包中导入Flask类app=Flask(__name__) #传入Flask构造函数的第一个参数是模块或包的名字@app.route('/') #注册路由,即让URL与函数建立联系。def index(): #当用户访问URL时,会触发index函数 return 'HelloFlask!
'复制代码
app.route()的语法
1.为视图绑定多个URL
@app.route('/hi')@app.route('/hello')def say_hello(): return 'Hello, Flask!
'复制代码
2.动态URL
@app.route('/greet/')def greet(name): return ' Hello, %s!
' % name复制代码
3.默认值
@app.route('/greet/',defaults={'name':'Programmer'})@app.route('/greet/')def greet(name): return ' Hello, %s!
' % name复制代码
2.启动开发服务器
Flask内置了一个简单的服务器。
在工作目录下执行如下命令,启动内置的服务器
flask run复制代码
在浏览器输入 ,我们会看到网页上显示"Hello, World!"
在执行flask run命令运行程序之前,我们需要提供程序实例所在模块的位置。我们在上面可以直接运行程序,是因为Flask会自动探测程序实例,自动探测的规则如下:
a.从当前目录寻找app.py和wsgi.py模块,并从中寻找名为app和application的程序实例。
b.从环境变量FLASK_APP对应的值寻找名为app和application的程序实例。若我们的程序实例为其他名称,如hello.py,那么需要设置环境变量FLASK_APP。
Windows系统使用set命令:
set FLASK_APP=hello复制代码
c.如果安装了python_dotenv,那么在使用flask run或其他命令时,会使用它自动从.flaskenv文件和.env文件中加载环境变量
注:当安装了python-dotenv时,Flask加载环境变量的优先级为:
手动设置的环境变量 > .env中设置的环境变量 > .flaskenv设置的环境变量复制代码
为了避免频繁设置环境变量,我们使用pyhton_dotenv管理项目的环境变量,安装命令如下:
pipenv install python-dotenv复制代码
我们在项目的根目录下创建两个文件: .env 和 .flaskenv
.flaskenv用来存储和Flask相关的公开环境变量
.env用来存储包含敏感信息的环境变量
3.使用Py Charm运行服务器
3.1 Py Charm 配置服务器
在Py Charm中,单击菜单栏中的Run ——> Edit Configurations打开配置窗口
Step 1.单击左侧的"+"符号打开下拉列表
Step 2.新建一个Python类型的运行配置,并在右侧的Name字段输入一个合适的名称
Step 3.将第一项配置字段通过下列选项选为"Module Name"
Step 4.填入模块名称flask
Step 5.第二栏的"Parameters"填入run
Step 6.在"Working directory"字段中选择程序所在的目录作为工作目录。
保存关闭窗口后,在Py Charm右上方选择我们创建的运行配置,然后单击绿色三角形的运行按钮即可启动开发服务器。
3.2 更多的启动选项
1.使服务器外部可见
flask run --host=0.0.0.0复制代码
2.改变默认端口
flask run --port=8000复制代码
3.3设置运行环境
运行环境分为开发环境和生产环境。
Flask提供了FLASK_ENV环境变量用来设置环境,默认为production。
FLASK_ENV=development #将运行环境设置为开发模式复制代码