从其他文件访问Flask中的配置值

Pav*_*dhu 14 python flask

我有以下app结构:

manage.py
myapp/
  __init__.py
  config.py
  views/
    __init__.py
    login.py
    ...
Run Code Online (Sandbox Code Playgroud)

myapp/__init__.py我有一个函数create_app()返回的瓶的应用实例.配置值也在其中说明create_app().我希望能够在其他文件中访问这些值,例如login.py.我试过了:

from myapp import create_app as app
print app.config['SECRET_KEY']
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误说明 AttributeError: 'function' object has no attribute 'config'

我做错了什么,我该如何解决这个问题?谢谢.

goo*_*cow 27

使用from flask import current_app.你SECRET_KEY在中定义settings.py.

print current_app.config['SECRET_KEY']

  • 我尝试了current_app方法并收到:`RuntimeError:在应用程序上下文之外工作 (7认同)
  • 要避免`RuntimeError:在应用程序上下文之外工作.确保在请求的上下文中调用`current_app`.见[here](http://flask.pocoo.org/docs/0.12/appcontext/#creating-an-application-context) (5认同)
  • 确保使用 `app.config.from_object('myapp.config')` 初始化配置文件,如 http://flask.pocoo.org/docs/0.10/config/ 所示 (3认同)