在Web應用程序的開發過程中,我使用工廠模式和瓶型擴展如flask-admin。我想在應用程序尚未創建時在flask-admin中加載一些配置。所以我使用current_app.config["SOME_CONFIG"]
來獲取配置值。但我得到了Working outside of application context.
異常。代碼如下:在燒瓶中使用工廠模式時如何在燒瓶擴展中使用配置?
# __init__.py
from flask import Flask
def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config_name)
app.config.from_pyfile("config.py")
from admin import admin
admin.init_app(app)
return app
# admin/__init__.py
from flask import current_app
from flask_admin import Admin
admin = Admin(name=current_app.config["ADMIN_NAME"], template="bootstrap2")
這裏不需要在每一個粘貼的行之間留出一個空格。你也有太多的4縮進的代碼。哦...實際上,你也縮進了你可能想要的標題 –
爲什麼管理員名稱是配置的一部分?這似乎並不是它打算如何工作。 – davidism
@davidism除了flask-admin之外,我還想根據配置在使用flask-security時定義模型的字段。例如,如果SECURITY_TRACKABLE爲True,我將定義login_count,last_login_ip,last_login_at ... – stamaimer