从阅读配置文件构建为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_resource('app.cfg') as f:
print(type(f.read()))
return 'Hello World! {}'.format(app.config.get('LOGGING'))
if __name__ == '__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)
在config/app.conf中添加了以下属性:
myvar1="tester"
myvar2="tester"
myvar3="tester"
Run Code Online (Sandbox Code Playgroud)
调用hello_world()函数返回的服务:
Hello World! None
Run Code Online (Sandbox Code Playgroud)
不应该返回文件的内容而不是None?
我试图访问一个属性,app.config.get('myvar1')但None在这种情况下也返回.
配置文件本身就是实际的Python文件.以后只有大写的值实际存储在配置对象中.因此,请确保为配置键使用大写字母.
因此,将./config/app.conf变量设置为:
VARIABLE_NAME = "variable value"
Run Code Online (Sandbox Code Playgroud)
加载为:
app.config.from_pyfile(os.path.join(".", "config/app.conf"), silent=False)
Run Code Online (Sandbox Code Playgroud)
注意:如果您不使用特定于实例的配置,则实际上不需要构建路径,因为它将Flask应用程序路径作为其根.
并在以后访问这些值:
app.config.get("VARIABLE_NAME")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3675 次 |
| 最近记录: |