python模板引擎。

backslant的Python项目详细描述


backplant是一个模板引擎,它的构建方式与以前完全不同。


您可以将迭代器或生成器作为输入馈送,并获得迭代输出。

第三-它通过导入工作。如果你想得到模板,只需导入并使用它。如果您想要包含
其他模板-导入它。如果你想在某个目录模板,导入它!就像“来自”。导入其他模板``.
使用绝对导入或相对导入。

backslant.backslantfinder())


如果要将呈现的HTML发送到浏览器:

h1“header”header“


您可以定义一个函数:

-def render_form(method):
form(method=method)
input(type=“text”value=“123”)


end call it:

h1
==render_form('post')


是的,这很简单,您只需使用python构造。这里的`=`是`-yield from`.
,`=`是`-yield`.

的快捷方式,现在可以用函数来继承模板。

base.bs:

!doctype/html
html
head
title“页面标题”
body
h1{'class':''.join(['main','content'],“ng app”:“application”}
页眉
div.content
==options['content_block'](
div.footer
backslant 2015


index.bs:

-from。import base
-def content():
-for i in range(10):
p
='paragraph{}'。format(i)
==base.render(content\u block=content)



但是我们有语法糖:

:call base.render(*options)
:content_block
-对于范围(10)内的i:
p
=paragraph{}。format(i)
:footer_block
p“index page”

参数
----

您可以使用arg=`parentised python expression or variable name`或
`tag.class{'a':5,'b':''.join(options.classes)}`表单。




render或not render?
---------


编译模板时,我们需要它以某种方式放置在模块中。如果您在顶层有任何标记或调用,
,那么我们肯定必须将它们放入函数中。我们为此创建“render”函数。
然后导入模板并调用此“render”。

然后backlant不会在“render”函数中隐式覆盖
,这是定义模板libs的方法。你甚至可以在PyPI上分发它。
BR/> BR/>烧瓶
-
BR/>如果你想把反斜率整合到现有的项目中,重写所有模板是很痛苦的。因此
我们有解决方法:

从backplant.flask导入extend_jinja2,包括_jinja2



-来自Backlant.Flask Import Extend_Jinja2,include_jinja2

:调用extend_jinja2('layouts/base.html')
-def content(ctx):
==include_jinja2('layouts/header.html')
div.container
div.page-header
h1
=选项[“公司]。别名



你可以将性能与Jinja2进行比较。
几乎相等。

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

推荐PyPI第三方库


热门话题
java具有数量可变的参数,可以同时加载数量可变的图像   java应用程序在后台运行数小时后,当对象变量被系统破坏时,如何在应用程序类中保存对象变量   Java使用不带名称空间的XSD验证XML   关于在Play 2.2.1上安装死锁的java问题   字符串中的java字符串分隔符。分裂法   菜单中的java项不显示操作栏,而是在三个点中显示,没有任何图标   以int值作为键的java HashMap   java OpenAPIgeneratorEventPlugin身份验证查询参数未发送   java如何使用用户输入停止程序   java XIMA Formcycle图像预览问题   java Android登录MainActivity中的google   java Spring JPA@Query JPQL因“意外标记:日期”而失败   java如何将JTextField中的数据保存到mysql数据库中?   java jMonkeyEngine是否在网格内应用材质?   java传感器。键入旋转向量没有值?   java是一个从随机数序列中求值的简单算法吗?   java安卓8。x通知:当我的应用打开时,如何避免通过我的应用淡入/淡出通知?   java tomcat无法启动:严重:启动静态资源时出错   带有自定义列表的java Json操作警告