我正在尝试在管理页面的某个 ModelView 中加载脚本:
那么,我如何适当地传递应用上下文以加载此视图的脚本呢?
class CustomView(ModelView):
# Neither approach works here:
# with current_app.app_context(), current_app.test_request_context():
extra_js = [url_for('static', filename='admin/admin.js')]
将app_context()
注释掉后,我会得到以下错误:
运行时错误:尝试生成URL但未推送应用程序上下文。这必须在应用程序上下文可用时执行。
取消注释app_context后,我会得到以下错误:
运行时错误:工作在应用程序上下文之外。这通常意味着您尝试使用需要以某种方式与当前应用程序对象进行接口的功能。为解决此问题,请使用app.app_context()设置应用程序上下文。有关更多信息,请参见文档。
我还尝试在设置管理视图时添加上下文,但仍然遇到相同的错误:
# ADMIN
with app.app_context():
admin = Admin(app, name='Custom', template_mode='bootstrap3', index_view=MyIndex(), base_template='admin/base.html')
admin.add_view(CustomView(User, db.session))
那么,我如何适当地传递应用上下文以加载此视图的脚本呢?