웹 응용 프로그램을 개발하는 동안 flask-admin과 같은 공장 패턴 및 플라스크 확장을 사용합니다. 응용 프로그램을 만들지 않았을 때 flask-admin에서 일부 구성을로드하려고합니다. 그래서 current_app.config["SOME_CONFIG"]
을 사용하여 구성 값을 얻습니다. 그러나 나는 Working outside of application context.
예외를 가지고 있습니다. 코드는 다음과 같습니다 :플라스크에서 공장 패턴을 사용할 때 플라스크 확장에 config를 사용하는 방법은 무엇입니까?
# __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 개 들여 쓰기가 너무 많습니다. 오 ... 사실, 당신은 또한 헤더가 될 가능성이있는 것을 들여 썼습니다. –
admin 이름이 config의 일부분 인 이유는 무엇입니까? 그것은 그것이 작동하도록 의도 된 것 같지 않습니다. – davidism
@davidism flask-admin 외에, 플라스크 보안을 사용할 때 모델의 필드를 정의하도록 구성에 따라 싶습니다. 예를 들어, SECURITY_TRACKABLE이 True이면 login_count, last_login_ip, last_login_at를 정의합니다 ... – stamaimer