我正在编写一套带有基于Web的界面的工具,这是一个非常简单的应用程序,所以我要使用烧瓶。
其中一个工具是XSL转换器工具,我在其中加载xslt模板,xml文件,该工具将返回转换结果。
问题是其中一个xslt非常复杂,它从其他xslt导入,其中一些很大。
所以我正在考虑实现一个单独的机制来加载lxml转换器实例(lxml.etree.XSLT)并将此实例保存在一个可以从每个请求访问的变量上,并避免创建一个新的实例每个请求都有变压器。
我的问题是,在启动(或部署)应用程序时,有一个类可以用来在flask上创建单例实例?
我在Java中使用@Singleton bean知道类似的机制,但我无法在烧瓶文档中找到任何内容。
答案 0 :(得分:1)
flask.current_app
功能提供了一种使用Singleton模式的方法。
https://flask.palletsprojects.com/en/1.0.x/appcontext/#manually-push-a-context