Renderoo是一个很小的html组件库,也是python3的html模板编写器
Renderoo的Python项目详细描述
伦德罗
Renderoo是一个使用python将HTML组件呈现为HTML模板的小库。在
目标是允许您以python代码的形式构建组件库。在
请注意,这并不意味着要动态渲染。也不打算用于客户端组件。在
促进这个库开发的用例是用Django编写HTML模板是多么烦人。在
Django模板引擎简单易用。在
但我想在处理HTML时减少重复的次数。在
一次又一次地重复HTML打开了错误和样式错误的大门。在
这当然是受到JSX的启发,只是我没有选择为此创建一种新的标记语言。这没什么意义。在
要求
Renderoo需要Python 3
或更新版本。在
我强烈建议使用Python 3.6+
for来获得f字符串。在
安装
要安装Renderoo,请运行pip install renderoo
使用
Renderoo提供两个功能:
- 在定义自己的组件时要将其子类化的组件类
- 一个html模板编写器类,用于将模板写入文件
定义自己的组件
有4种方法可以定义组件。在
独立组件
独立组件不接受任何参数并返回html字符串。在
class HelloWorldComponent(Component):
def render(self):
return "<p>Hello, world.</p>"
嵌套组件
嵌套组件是一个组件直接位于另一个组件内部。在
^{pr2}$参数化组件
参数化组件呈现方法接受组件作为参数。在
class ParametrizedComponent(Component):
def render(self, component):
return f'<div>{component}</div>'
具有子组件的父组件
带有子组件的父组件接受组件作为参数。在
class ParentWithChildComponent(Component):
def __init__(self, child_component):
self.child_component = child_component
def render(self):
return f"<div>{self.child_component}</div>"
使用模板编写器
模板编写器只是将模板写入文件的快捷方式。在
它接受两个参数:html
和template_name
html
是正在编写的html。在
示例:<p>Hello, world.</p>
template_name
是模板名称,它是要写入的完整路径。在
示例:/path/to/the/template.html
您可以通过子类化TemplateWriter
类来定义自己的模板编写器。在
问题和错误报告
- 开罚单
- 清楚地解释问题
- 耐心等待回应
拉取请求
拉取请求是受欢迎的,可能不会立即合并。 请打开一个问题来讨论你的想法的优点。在
许可证
麻省理工学院
- 项目
标签: