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>"

使用模板编写器

模板编写器只是将模板写入文件的快捷方式。在

它接受两个参数:htmltemplate_name

html是正在编写的html。在

示例:<p>Hello, world.</p>

template_name是模板名称,它是要写入的完整路径。在

示例:/path/to/the/template.html

您可以通过子类化TemplateWriter类来定义自己的模板编写器。在

问题和错误报告

  • 开罚单
  • 清楚地解释问题
  • 耐心等待回应

拉取请求

拉取请求是受欢迎的,可能不会立即合并。 请打开一个问题来讨论你的想法的优点。在

许可证

麻省理工学院

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

推荐PyPI第三方库


热门话题
java组织。springframework。豆。工厂使用来自singleton的同一对象时的BeanCreationException   要匹配ResourceBundle的java正则表达式   java是一个“无限”迭代器——糟糕的设计?   spring数据rest mongodb java。lang.IllegalArgumentException:PersistentEntity不能为空   java中的双向ClientServer通信   windows Java Midi生成注册表错误   MP3播放器应用程序中的javajslider   ajax通过servlet将java arraylist传递给jsp,并根据arraylist的大小创建字段   java将变量值从一个方法传递到另一个方法   如何配置apachevhost。用于从Java获取会话值的conf文件   2个未排序数组的java合并排序   使用Java验证Azure密钥库