这里写目录标题
一、Flask参数说明
接下来就来详细查看一下 Flask 应用程序在创建的时候一些需要我们关注的参数
创建flask项目后,默认app.py文件如下:
1、import_name参数
Flask类传递的参数有如下那么多,其中import_name是必传参数
import_name
:Flask程序所在的包(模块),传__name__
就可以 ,其可以决定 Flask 在访问静态文件时查找的路径,这里指app.py
2、static_url_path参数
static_url_path
:静态文件访问路径,可以不传,默认为:/ + static_folder
3、static_folder参数
static_folder
:静态文件存储的文件夹,可以不传,默认为 static
4、template_folder参数
template_folder
:模板文件存储的文件夹,可以不传,默认为 templates
默认参数情况下
|---static
| |--- 3.jpg
|---templates
|--- index.html
|---helloworld.py
访问静态资源
http://127.0.0.1:5000/static/3.jpg
修改参数的情况下
app = Flask(__name__, static_url_path='/zhilong', static_folder='static')
----
|---static # 此处目录名变化
| |--- 3.jpg
|---helloworld.py
访问http://127.0.0.1:5000/zhilong/3.jpg才可以访问到图片
5、run相关的参数(host、port、debug)
run方法种可以传递的参数如下,有那么多
直接使用app.run()启动项目时,只能http://127.0.0.1:5000/ 去访问,其他的ip不能进行访问,造成客户端访问服务端不灵活了。
如下图:使用本机的其他ip地址访问,无法访问网站
当我run方法中指定了host和port参数后,继续运行项目
from flask import Flask
#todo 初始化Flask项目的服务
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
#0.0.0.0:代表当前的系统的所有的ip地址,
# 设置端口为8080,
# flask的debug模式:把错误的信息显示到页面中
app.run(host='0.0.0.0',port=8080,debug=True)
http://192.168.112.217:8080/,也可以访问服务端资源;
0.0.0.0:代表当前的系统的所有的ip地址,使用0.0.0.0可以使客户端访问服务端更加灵活
port:设置端口号为8080
flask的debug模式:把错误的信息显示到页面中
但是在企业开发中,一定不要将debug设置为True,默认为False
关于DEBUG调试模式
1. 程序代码修改后可以自动重启服务器
2. 在服务器出现相关错误的时候可以直接将错误信息返回到前端进行展示
例如:debug设置为True
运行项目后,页面有错误提示,控制台也有提示
例如:debug设置为False,不回将错误信息展示在页面种
二、应用程序配置传参
1、应用程序配置参数设置的是一个Web应用工程的相关信息,比如:
- 数据库的连接信息
- 日志的配置信息
- 自定义的配置信息
注意:这样可以集中管理项目的所有配置信息
Flask将配置信息保存到了app.config属性中,该属性可以按照字典类型进行操作。
第一种、从配置对象中加载
这样的好处是可以在项目开发中来继承:
class MyDevelopmentConfig(DefaultConfig):
DEBUG=True
启动项目,打印出结果如下
第二种:从配置文件中加载
新建一个配置文件setting.py ,这个文件中的内容是: 参数名=参数值 ,比如:USER = ‘root’
配置文件setting.py
第三种:从环境变量中加载
Flask使用环境变量加载配置的本质是通过环境变量值找到配置文件,再读取配置文件的信息,其使用方式为
app.config.from_envvar('环境变量名')
app.config.from_envvar('环境变量名')
silent参数:
False 表示不安静的处理,没有值时报错通知,默认为False
True 表示安静的处理,即时没有值也让Flask正常的运行下去
a、首先新建一个系统变量SETTING_PATH(随意,最好时大写),再把配置文件的路径粘贴过来;
代码为:
在运行项目前需要将pycharm重启,重启后环境变量才生效
第四种:从Pycharm中的运行时设置环境变量的方式加载
使用非常少
截图步骤如下:
2、企业项目开发常用的方式
使用工厂模式创建Flask app,并结合使用配置对象与环境变量加载配置
使用配置对象加载默认配置
使用环境变量加载不想出现在代码中的敏感配置信息