本模块提供了一个装饰器,可以轻松地使用Jinja2模板和Cherry Py!
Jinja2Loader的Python项目详细描述
这个包将用于需要快速 以及从文件系统加载模板的简单方法。
导入和设置
为了正确使用这个模块,您必须导入它,然后设置 模板目录。模板目录最初设置为 os.path.join(os.getcwd(),'templates')。
如果您的模板存储在“./templates/”中,则只需导入此 模块。
import jinja2loader
但是,如果模板位于另一个目录结构中,则 需要导入模块,然后设置模板模板目录。一个 已经创建了helper函数来允许此操作,您可以通过调用 jinja2loader.set_template_directory('template_directory')。
import jinja2loader jinja2loader.set_template_directory('../resources/templates')
加载模板
此函数包装一个应用程序方法,该方法返回 对于模板的上下文,此装饰器接受一个参数,即 要传递到环境的模板名称。获取模板(模板名称) 使用此装饰器时,您需要从应用程序中执行的所有操作 函数返回要传递到模板中的上下文。在 此外,您需要将模板名指定为 类似于@load\u template('template\u name.html') 请参阅下面的示例,其中使用 环境。获取模板(模板名称)。
class Application(object): @cherrypy.expose @load_template('test.html') def index(self): context = {'name': 'derp', 'name_list': ['bleep', 'blerp', 'herp']} return context
上面的示例将导致呈现模板“test.html” 使用函数application.index()中的上下文 如果没有像下面的示例中的上下文那样传入任何内容,则 decorator方法将自动将其替换为空的dict 在调用渲染之前。
@load_template('test.html') def index(self): return
上面的示例将返回“test.html”模板,这对于 加载和返回不需要上下文的静态页。