Python中的HTML生成

Python中的HTML生成,python,html-generation,Python,Html Generation,用Python快速创建简单HTML的最简单方法是什么?到目前为止,我所发现的只是用于HTML生成的复杂模板系统或类,其API似乎比我需要的要重得多 我可以自己把线粘在一起,但我想可能有一个图书馆可以帮我节省一点时间 编辑-我决定仔细看看Jinja2模板系统。它看起来在将来的某个时候可能会很有用,而且看起来不会像我想的那样花那么多时间来弄清楚。看看标记模块: 编辑:这里有另一个看起来很相似的模块:看看标记模块: 编辑:这里有另一个看起来很相似的模块:如果你在寻找基本的和裸露的骨骼,那么古代的就可以

用Python快速创建简单HTML的最简单方法是什么?到目前为止,我所发现的只是用于HTML生成的复杂模板系统或类,其API似乎比我需要的要重得多

我可以自己把线粘在一起,但我想可能有一个图书馆可以帮我节省一点时间


编辑-我决定仔细看看Jinja2模板系统。它看起来在将来的某个时候可能会很有用,而且看起来不会像我想的那样花那么多时间来弄清楚。

看看标记模块:


编辑:这里有另一个看起来很相似的模块:

看看标记模块:


编辑:这里有另一个看起来很相似的模块:

如果你在寻找基本的和裸露的骨骼,那么古代的就可以了。否则,请使用模板引擎。

如果您正在寻找基本和基本的模板,那么古代模板就可以了。否则,请使用模板引擎。

是一个古老但仍然引人入胜的框架——它基本上“将HTML嵌入Python”(而不是像所有流行的模板系统那样,将HTML嵌入Python)

一个简单的例子来自:

有点“更酷”。。。因为您不必担心是否正确关闭标记;-)

然而,最终,对于生产工作来说,模板化系统(如或现在通常更受欢迎)——主要的实际原因是(模板中)表示逻辑与其他层(Python代码本身)的分离比wrt提供的“在Python中嵌入HTML/XML”方法更好,我猜。

是一个古老但仍然迷人的框架——它基本上“将HTML嵌入Python”(而不是像所有流行的模板系统那样,将HTML嵌入Python)

一个简单的例子来自:

有点“更酷”。。。因为您不必担心是否正确关闭标记;-)


然而,最终,对于生产工作来说,模板化系统(如或现在通常更受欢迎)——主要的实际原因是(模板中)表示逻辑与其他层(Python代码本身)的分离比wrt提供的“在Python中嵌入HTML/XML”方法更好,我猜。

Python字符串.Template可能会执行您想要的操作。而且它是内置的


如果没有进一步的定义或示例,我无法理解“似乎更重的API”。

Python字符串.Template可以满足您的需要。而且它是内置的


如果没有进一步的定义或示例,我无法理解“似乎更重的API”。

什么样的“简单HTML”?您需要这个系统具有什么样的功能-变量替换?循环?条件句?语法检查?Jinja2有多复杂?填充模板只需要几行代码。你能提供一些“复杂”的具体定义吗?我需要生成一些HTML来显示一个报告——只是一堆表和一些图像。这是一个小项目,我认为任何需要我学习(乍一看是什么样子)大型API的东西都是浪费时间。我使用的是ElementTree,但是。请用复杂的定义更新您的问题。请提供一些参考或链接,说明使Jinja2这样的模板包工作所需的两个API调用是复杂的。请不要在你自己的问题上添加评论。什么样的“简单HTML”?您需要这个系统具有什么样的功能-变量替换?循环?条件句?语法检查?Jinja2有多复杂?填充模板只需要几行代码。你能提供一些“复杂”的具体定义吗?我需要生成一些HTML来显示一个报告——只是一堆表和一些图像。这是一个小项目,我认为任何需要我学习(乍一看是什么样子)大型API的东西都是浪费时间。我使用的是ElementTree,但是。请用复杂的定义更新您的问题。请提供一些参考或链接,说明使Jinja2这样的模板包工作所需的两个API调用是复杂的。请不要在你自己的问题上添加评论。谢谢你的建议。nevow看起来很有希望。谢谢你的建议。nevow看起来很有前途。哇,那太老了。但是谢谢你的建议,我会查一查的。哇,那太老了。但是谢谢你的建议,我会查一查的。
def format_row [html] (head, value):
    "<tr valign=top align=left>\n"
    "  <th align=left>%s</th>\n" % head
    "  <td>%s</td>\n" % value
    "</tr>\n"
>>> from nevow import flat, stan
>>> html = stan.Tag('html')
>>> p = stan.Tag('p')
>>> someStan = html[ p(style='font-family: Verdana;')[ "Hello, ", "world!" ] ]
>>> flat.flatten(someStan)
'<html><p style="font-family: Verdana;">Hello, world!</p></html>'