mysql 培养瓶:在应用程序上下文之外工作

icnyk63a  于 2023-03-11  发布在  Mysql
关注(0)|答案(1)|浏览(121)

我需要修改init文件之外的一些配置参数。所以在manual之后我使用current_app。但是就像他们说的:
如果您尝试在应用程序上下文之外访问current_app或使用它的任何内容,您将收到以下错误消息:运行时错误...
然后他们提供了一个例子,说明如何手动推送app_context,但不清楚如何在外部文件上使用它,比如我的案例。我如何访问和修改外部文件上的app配置参数?
下面的代码目前产生我上面引用的错误:
运行时错误:在应用程序上下文之外工作
tools.py

mysql = MySQL()
current_app.config['MYSQL_HOST'] = 'localhost'
current_app.config['MYSQL_USER'] = 'root'
current_app.config['MYSQL_PASSWORD'] = 'root'
current_app.config['MYSQL_DB'] = 'users'
mysql.init_app(current_app)

init.py

def create_app():
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(12)
agxfikkp

agxfikkp1#

解决了我需要将此行添加到init.py

def create_app():
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(12)
app.app_context().push() # <---

相关问题