Python 使用Tinyhtml模块生成HTML
Tinyhtml是一个用于生成HTML5代码或表达式的Python库。当您对HTML的语法不是很了解时,这将非常有用。正如名称所示,它是一个“小巧”的库,可以呈现HTML5表达式。
有许多使用tinyhtml渲染HTML代码的方法,其中我们将看到其中的一些。想要了解更多信息,请查看此处的文档。
由于tinyhtml的轻量级性质,将其与其他工具集成在一起更容易。例如,可以通过将模块导入到您正在使用的笔记本中,在Jupyter Notebooks中呈现HTML代码片段。
将其与Flask或Django等Python应用程序集成以动态生成HTML代码片段也更容易,也就是说,不需要始终手动渲染代码。
要在我们的系统中使用tinyhtml,我们需要使用以下命令进行安装:
pip install tinyhtml
在将该模块安装到我们的系统之后,我们可以在系统中开始使用它并将其纳入我们的项目中。
import tinyhtml
从tinyhtml模块中导入所有要使用的模块后,我们尝试使用不同的方法来呈现HTML代码。总的来说,牢记这些基本功能是很重要的。
html() - 在HTML代码中描绘了<html>
元素。它表示HTML代码的开始。
语法
html(lang="en")(
#type content here
)
h() - h()可以用来描述HTML中的其他元素。在上面的代码中,它被用来定义HTML中的<head>
标签,并且用来描述编码为’utf-8’。
我们需要正确定义标签,否则代码可能会抛出错误。
html(lang="en")(
h("head")(
h("p")(
#type content here
)
)
)
注意:所有这些都应在html()括号内声明。
frag()方法
frag() - 它将不同的HTML元素组合在一起,比仅仅使用“html()”渲染代码更友好。
语法
html(lang="en")(
frag(h("h1")("Example"),
h("p")("Lorem Ipsum")
)
)
Raw()方法
raw() - 打印用户提供的原始未编辑的HTML代码。如果用户了解HTML语法,这是最好的使用方式。
语法
#can print with any tags available in HTML.
raw("<h2>This is an example</h2>")
示例1
在这个例子中,我们可以看到使用tinyhtml模块生成HTML代码的各种方法。
步骤
- 导入必要的库。
-
描述每种渲染HTML代码的方式。
-
使用Python中的HTML函数首先渲染并打印它。
-
使用frag()方法渲染代码并打印它。
-
使用raw()方法渲染HTML代码并打印它。
from tinyhtml import html, h, frag, raw
#to generate HTML code
htm=html(lang="en")(
h("head")(
h("meta", charset='utf-8')
),
).render()
print("HTML Code: \n", htm)
#how frag() works
htm_frag=html(lang="en")(
frag(h("h1")("This is a sample header"),
h("p")("This is a sample paragraph declared under the head in HTML"))
).render()
print("\n\nThis is an use case of frag()\n", htm_frag)
#how raw() works
htm_raw=raw('<h1>Printing the Raw HTML code</h1>')
print("\n\nThe raw way of printing HTML code: \n", htm_raw)
输出
让我们来看看frag()函数生成的HTML代码:
示例2
这段代码来自上面frag()函数生成的代码中。
<!DOCTYPE html><html lang="en"><h1>This is a sample header</h1>
<p>This is a sample paragraph declared under the head in HTML</p></html>
运行此代码并在浏览器中打开:
输出
因此我们可以推断,生成的HTML代码也可用于Web开发。
结论
tinyhtml模块是一个相对较新的项目,可以生成HTML代码而无需任何空格,这使得在Web开发中运行HTML代码更快。但另一方面,这显著降低了代码的可读性。
另一个优点是可以在函数中声明模板。这提高了代码的可重用性,并且由于此原因,同一个模板可以作为用户定义的函数在多个位置调用。
由于tinyhtml还很新,它的生态系统和社区支持较小,因此初学者在tinyhtml中编码会非常困难,因为缺乏在线解决方案。