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访问GridLayout JPanel中本地定义的JButton   java应该在同一个对象中使用@NotNull和@JsonProperty(必需的)   在Android Studio中编程时从何处导入依赖jar文件?   多线程Java等待在while循环内/外同步   java osgi捆绑包仍然很懒,不会自动启动   爪哇皇后碰撞   java是否可以使用hbm2ddl为某个数据库列生成默认值   java Mandelbrot集缩放和平移   Java Hyperledgerpanic:runtimr错误:无效内存地址或零指针取消引用   ibm mq是否可以在java中的mq队列开始处加载消息   地图活性。java在高于6.0的安卓版本上不起作用   一个黄瓜场景在Java中的多个实现   java使用pjsip播放mp3文件   java如何在活动之间传递自定义对象?   java除了在每个字段中循环外,还有更简单的方法来判断JPA实体是否已被修改?   关于文件拼接的java   用于更改类字段的java构造函数或函数   存储hibernate+java中的postgres geometry(point,4326)列   java ListView适配器只返回解析的最后一行。com对象Android