本模块提供了一个装饰器,可以轻松地使用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”模板,这对于 加载和返回不需要上下文的静态页。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java获取textview的文本并将其粘贴到另一个上   java ImageIO。write()不保存文件   java H2数据库排序字符串时间戳,格式为yyyyMMdd'T'hh:mm:ss。SSSSSSS'Z'   java匿名类与静态字段   java将一个句子拆分为字符串数组,并保留特殊字符或空格   JavaBIRT报告引擎。计算Javascript表达式时出错   日志表的java MySQL隔离级别读取未提交   java Android调用意图权限   java如何在iText 7中查找文本位置和边界   从Groovy调用Java类主方法时,避免参数数量不正确   java libGDX:在批处理调用stage constructor时,为舞台上的演员绘制纹理作为背景   java randoop可以利用usermade JUnit测试生成测试吗?   java Eclipse工作区将不再显示我的项目