博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flask参数配置
阅读量:6059 次
发布时间:2019-06-20

本文共 1289 字,大约阅读时间需要 4 分钟。

在Flask中的参数配置保存在Flask对象的config属性中。

config实际上继承于字典,可以像修改字典一样修改它:

app = Flask(__name__)app.config['TESTING'] = TRUE

相应的配置会直接推送到Flask对象上,所以你可以直接在Flask对象上读写:

app.testing = True

可以使用dict.update()方法来批量更新键值对:

app.config.update(    TESTING=True,    SECRETE_KEY=b'^*&BKJH^*')

主要有三种参数配置方法:


1. 基本配置方法

即通常的 ‘字典式’ 配置方法,如我们要配置SQLAlchemy中的数据库连接URL:

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://test:test@localhost/test'

2. 从文件读取

相对于1中的配置方法,一个更为优雅解决方法是从单独的文件中读取配置。

app = Flask(__name__)app.config.from_object('yourapplication.default_settings')app.config.from_envvar('YOURAPPLICATION_SETTINGS')

其中 app.config.from_envvar('YOURAPPLICATION_SETTINGS') 的用法和 app.config.from_pyfile(os.environ['YOURAPPLICATION_SETTINGS']) ,但是app.config.from_envvar的error message更为友好。


3. 从环境变量读取

对于某些敏感信息(如加密密钥)并不适合放在程序包中。在Linux中,我们可以这样在环境变量中设置:

$ export SECRET_KEY='5f352379324c22463451387a0aec5d2f'$ export DEBUG=False

有一点需要注意的是,环境变量中设置的值都是字符串--并不会直接解析为python中的类型.

下面是一个使用环境变量的例子:

# Example configurationimport osENVIRONMENT_DEBUG = os.environ.get("DEBUG", default=False)if ENVIRONMENT_DEBUG.lower() in ("f", "false"):    ENVIRONMENT_DEBUG = FalseDEBUG = ENVIRONMENT_DEBUGSECRET_KEY = os.environ.get("SECRET_KEY", default=None)if not SECRET_KEY:    raise ValueError("No secret key set for Flask application")

转载地址:http://nncrx.baihongyu.com/

你可能感兴趣的文章
java_final
查看>>
E: Write error - write (28 No space left on device)
查看>>
iOS 移动开发周报
查看>>
atitit.细节决定成败的适合情形与缺点
查看>>
Dash
查看>>
Windows下VS2017编译OpenCV 3.4.0-rc
查看>>
记录一次Centos磁盘空间占满的解决办法(转)
查看>>
Python可视化库
查看>>
做最真实的自己
查看>>
TerminateThread函数学习
查看>>
递归循环JSON
查看>>
linux基本命令(4)-8.Ubuntu-jdk+tomcat+eclipse软件包安装
查看>>
BZOJ 1012 线段树||单调队列
查看>>
Python 之 【二进制、十进制、八进制、十六进制 】之间的转换【转】
查看>>
ytu 1938:首字母变大写(水题)
查看>>
JQuery Ajax调用asp.net后台方法
查看>>
Nginx正则表达式之匹配操作符详解
查看>>
黑苹果声卡驱动
查看>>
iOS - Library 库
查看>>
ES2017 中的 Async 和 Await
查看>>