Pybars3(把手)模板渲染AIOHTP。

aio_pybars的Python项目详细描述


所有Pybars
==


快速启动
----


0。安装::

pip安装aio_pybar


或通过setup.py::


>1。配置应用程序:

from aio_pybars import fstemplateloader
loop.run_直到完成(aio_pybars.setup(app,
templates_dir=config['templates_dir',
loader=fstemplateloader))

2。在视图中使用模板:

async def index(request):
context={“var”:“value”}
context)

它将在aiohttp响应的“context”中使用变量呈现“template_name.hbs”模板。

{{>;“边栏”}


helper是可从模板调用的。从语法上看,它看起来与变量相同,但可以获取参数::

<;link rel=“shortcut icon”href=“{asset”favicon.ico“}”>;

将使用“favicon.ico”参数调用“asset”可调用,并将结果放入呈现的模板中。

*使用自己的部分和帮助程序*实现模板加载器的子类:


基本目录:
super()。\uu init(app,基本目录)


def get_partials(self):

加载templates目录的partials/子目录中的所有文件。
方法应返回字典{'partial_name':<;compiled template>;,…}

partials=super().get_partials()
base_partials=os.path.join(self.app.config['templates_dir','partials')
for name in os.listdir(base_partials):
filename=os.path.splitext(name)[0]
template_source=open(os.path.join(base_partials,名称),“r”,encoding='utf8').read()
template=self.compile.compile(template_source)
partials[filename]=template
return partials

def get_helpers(self):

定义自己的一组helpers。
method应该返回字典{helper_name':<;可调用>;,…}

helpers=super().get_helpers()
helpers.update({“asset”:_asset})
return helpers



def_asset(options,val,*args,**kwargs:
返回“/static/{}”。format(val)


并将其作为加载程序参数传递给安装程序::

loop.run直到完成(aio_pybar.setup(app,
templates懔dir=config['templates懔dir'],
loader=appfstemplateloader))

如果模板的第一行包含::

{!<;base_template}


所有呈现的模板都将作为变量“body”传递给基本模板。

例如:

base.hbs::

<;!doctype html>;
<;html>;
<;head>;
<;title>;template<;title>;
<;head>;
<;body>;
{{body}
<;body>;


测试。hbs::

{{!<;base}
hello,{{name}.

文档类型HTML>;
<;html>;
<;head>;
<;title>;模板<;title>;
<;head>;
<;body>;
hello,roma
<;body>;

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

推荐PyPI第三方库


热门话题
eclipse如何使用getter和setter调试java代码?   java如何使用HashMap作为LinkedHashSet   安卓 java。lang.RuntimeException:无法启动活动组件信息{..}JAVAlang.NullPointerException   使用二进制堆和比较器的Remove()存在循环问题   java在两个数组中查找匹配的数字   Maven exec可以工作,但java jar不能   java SQLite数据库未显示在文件资源管理器中   java Android Studio下一页按钮不工作   java为什么启用某些异常的调试要慢得多?   java如何在测试中注入bean的属性源   java如何预加载Android inapp计费购买   java使用CSS选择器在特定实例上单击按钮   java在Spring Boot中使用生成的ID持久化一个OneToMany实体   作用域如果我在java方法中声明一个变量,该变量是否也可以被从声明该变量的方法调用的任何方法访问?   本机JNIC代码中的java Openssl同步   java没有规则使目标“external/obpermissionjar/javalib/obpermissionjarPro20160628_1.0.9”为..所需。。?   java计算人口密度:初学者指南   java如何检查书签是否包含表?   java在Spring应用程序中设置时区