CherryPy + Jinja,在这里初始化环境



我正在用python编写一个应用程序,使用CherryPy和Jinja作为模板系统。可能需要说我是这些工具的初学者。我现在面临的问题是,我不知道在哪里初始化Jinja的环境类。

目前我有

    application.py(入口点,设置环境并启动服务器)
  • root.py (cherrypy的根页面类,必须从'application.py'导入,并且必须导入'application.py'来检索实例化的环境)
  • pages.py (cherry.py的其他页面类,必须导入'application.py',并且必须从根目录导入来构建树)

试图运行,最终似乎是一个循环引用和失败(应用程序>根>页>应用程序)。

我应该坚持只有一个环境实例,还是可以有一个实例在root.py和另一个在pages.py?

哪个是正确的模式?

你不应该重复自己的话。如果我是你,我会创建一个新的python模块templates.py,并将所有的jinja环境配置/创建放在那里。之后,您可以简单地在需要的地方导入该环境(例如from templates import jinjaenv)。在这种情况下,您可以保持简单和可扩展,以供将来使用。

最新更新