使用Flask和Python从配置文件读取属性
从构建我正试图定义一个自定义配置文件,以便自定义我的Flask应用程序 运行代码:使用Flask和Python从配置文件读取属性,python,flask,Python,Flask,从构建我正试图定义一个自定义配置文件,以便自定义我的Flask应用程序 运行代码: from flask import Flask app = Flask(__name__) import os my_config = app.config.from_pyfile(os.path.join('.', 'config/app.conf'), silent=False) @app.route('/') def hello_world(): with app.open_instance
from flask import Flask
app = Flask(__name__)
import os
my_config = app.config.from_pyfile(os.path.join('.', 'config/app.conf'), silent=False)
@app.route('/')
def hello_world():
with app.open_instance_resource('app.cfg') as f:
print(type(f.read()))
return 'Hello World! {}'.format(app.config.get('LOGGING'))
if __name__ == '__main__':
app.run()
在config/app.conf中添加了以下属性:
myvar1="tester"
myvar2="tester"
myvar3="tester"
调用hello\u world()
函数的服务返回:
Hello World! None
不应该返回文件的内容而不是“无”吗
我尝试使用app.config.get('myvar1')
访问属性,但在这种情况下也会返回None
。来自:
配置文件本身就是实际的Python文件。稍后,只有大写的值实际存储在config对象中因此请确保配置键使用大写字母。
因此,将结构变量/config/app.conf
设置为:
VARIABLE_NAME = "variable value"
加载为:
app.config.from_pyfile(os.path.join(".", "config/app.conf"), silent=False)
注意:如果您没有使用特定于实例的配置,您实际上不需要构建路径,因为它将以Flask应用程序路径作为其根
然后访问值,如下所示:
app.config.get("VARIABLE_NAME")
Hi@zwer,如果值集中有反斜杠,那么在检索时它们会加倍。你能帮助解决这个问题吗?我已经提出了一个新的思路-