当前位置: 首页 > 面试题库 >

在应用程序上下文之外创建数据库

西门经国
2023-03-14
问题内容

我有一个像这样的应用程序工厂

db = SQLAlchemy()

def create_app(environment):
  app = Flask(__name__)
  app.config.from_object(config[environment])

  db.init_app(app)
  # ... etc

  return app

然后,我有一个脚本,可以在应用程序上下文之外获取CSV。该脚本是一个cron,每x小时运行一次

我想以某种方式更新应用程序正在使用的sqlite数据库。这可能吗?


问题答案:

Flask-SQLAlchemy只需要一个应用程序上下文即可运行。您可以手动创建应用上下文。

app = create_app(env)
ctx = app.app_context()
ctx.push()

# your code here

ctx.pop()

这来自这里和这里的文档。



 类似资料:
  • 问题内容: app.py test.py 我正在将 应用程序 导入到 test.py中 以进行单元测试。在将’ before_request ‘函数调用到test.py中时,它会抛出RuntimeError:在应用程序上下文之外工作同样会在调用’ input_info() ‘时发生 问题答案: Flask有一个Application Context ,似乎您需要执行以下操作: 您可能还可以将调用推

  • 问题内容: 我已经使用和上下文init-parameter 配置了根应用程序上下文。 然后,JSF(* .jsf)变量解析器访问根上下文。它工作正常。 现在的问题是,经过的请求将获得另一个应用程序上下文,然后将单例bean实例化两次。 我不需要其他的应用程序上下文,如何指定它来重用由加载的现有根应用程序上下文? 注意 阅读答案中的参考页后,我知道根上下文和调度程序上下文之间存在上下文分隔,但是没有

  • 我已经尝试了StackOverflow中给出的许多解决方案,比如中的一些更改、更改方言、设置模式等。我检查了数据库权限和用户/密码信息,一切正常。 } 根据我下面的教程,这个设置应该导致在postgres数据库中创建表,但它没有发生。

  • 设置如下--我有一个定时任务,它将发送验证电子邮件,以便用户: 如果我可以在这里设置thymeleaf模板解析器来处理这些链接,也会有所帮助,但为此我需要,它需要的实例。

  • 问题内容: 我在网上搜索了有关如何在Microsoft IIS上部署React App的解决方案的信息。 我已经成功地部署了多个Node.JS应用程序,但是React却没有运气。 我尝试过的 已安装的网址重写 我跑了: 我创建了一个基本的React应用程序: 我创建了一个名为的路线 web.config 然后我跑了 在IIS中,我使用Application Pool:添加了一个,该路径链接到文件夹

  • 问题内容: 我有一个Spring应用程序,到目前为止运行良好。现在,我希望属性文件位于外部配置文件夹中,而不是在打包的jar中,而无需重新打包即可更改内容。这就是我得到的: 问题答案: 如果将其放置在名为spring的目录中的类路径中的某个位置(相应地更改名称/目录),则可以使用 这将指向web-inf / classes / config / springcontext.properties