代码之家  ›  专栏  ›  技术社区  ›  dave mankoff

如何在塔架中创建每个请求单例?

  •  0
  • dave mankoff  · 技术社区  · 14 年前

    在我们基于挂架的Web应用程序中,我们创建了一个类,它本质上提供了一些日志记录功能。对于传入的每个HTTP请求,我们需要这个类的一个新实例,但是 只有一个 每次请求。

    解决这个问题的正确方法是什么?我们应该在中间件中创建对象并将其存储在request.environ中吗?有没有更合适的方法来解决这个问题?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Ants Aasma    14 年前

    在Paste中有一个很好的请求局部变量实现: paste.registry 塔架将其用于自身的请求局部全局变量。

    只需在“中间件”中创建该对象,如文档所示,并将全局变量导入到您需要的模块中。(scarequotes中的中间件,因为它不是严格的中间件,因为您依赖它来运行它是应用程序/框架的一部分)

        2
  •  0
  •   newtover    14 年前

    可能依赖于内置功能?

    import logging
    logging.getLogger(__name__)
    

    日志功能在Python中是相当可定制的。

    推荐文章