【发布时间】:2010-12-05 15:07:05
【问题描述】:
我正在寻找一个易于实现的 Python 的 HTML 生成器。我找到了HTML.py,但是没有办法为表格添加CSS元素(id,class)。
【问题讨论】:
我正在寻找一个易于实现的 Python 的 HTML 生成器。我找到了HTML.py,但是没有办法为表格添加CSS元素(id,class)。
【问题讨论】:
Dominate 是一个 HTML 生成库,可让您轻松创建标签。在dominant中,python的保留字以下划线为前缀,所以看起来是这样的:
from dominate.tags import *
t = div(table(_id="the_table"), _class="tbl")
print(t)
<div class="tbl">
<table id="the_table"></table>
</div>
免责声明:我是主宰的作者
【讨论】:
如果您想要程序化生成而不是模板化,Karrigell 的HTMLTags 模块是一种可能;它可以包括例如class 属性(这将是 Python 中的保留字)通过大写其首字母的技巧,即引用我刚刚给出的文档 URL:
同名的属性 Python 关键字(类、类型)必须是 大写:
print DIV('bar', Class="title") ==> <DIV class="title">bar</DIV>
【讨论】:
这是我编写的一个超简单的 HTML 生成器。我在构建时使用它来生成 html。如果一个正在生成 html 页面运行时,那么有更好的选项可用
这是链接
http://pypi.python.org/pypi/sphc
还有一个简单的例子
>> import sphw
>> tf = sphw.TagFactory()
>>> div = tf.DIV("Some Text here.", Class='content', id='foo')
>>> print(div)
<DIV Class="content", id="foo">Some Text here.</DIV>
【讨论】:
实际上,您可以在 HTML.py (http://www.decalage.info/python/html) 中为对象添加任何属性,例如 id 和 class。
attribs 是 Table、TableRow 和 TableCell 类的可选参数。它是您要设置的附加属性的字典。例如,下面的代码为一个表设置了 id 和 class:
import HTML
table_data = [
['Last name', 'First name', 'Age'],
['Smith', 'John', 30],
['Carpenter', 'Jack', 47],
['Johnson', 'Paul', 62],
]
htmlcode = HTML.table(table_data,
attribs={'id':'table1', 'class':'myclass'})
print htmlcode
相同的参数可用于 TableRow 和 TableCell 对象来格式化行和单元格。列尚不存在,但如果需要应该很容易实现。
【讨论】:
好的,这是另一个 html 生成器,或者我更愿意将其视为编译器。
https://pypi.python.org/pypi/python-html-compiler
这是一组可用于定义标签和属性的基类。因此,标记类具有属性和子级。子项本身就是具有属性和子项等的标记类。您还可以设置从根类开始的参数并处理各个分支。
这将允许您定义您想要的所有标签类,从而能够创建自定义类并实现您想要的任何标签或属性。
刚开始,所以如果有人想测试:)
【讨论】:
HTML 生成或任何文本生成,jinja 是一个强大的模板引擎。
【讨论】:
您可能对某些 Python HAML 实现感兴趣。 HAML 就像 HTML 速记,只需几分钟即可学会。还有一个叫做 SASS 的 CSS 版本。
http://haml.hamptoncatlin.com/
“Is there a HAML implementation for use with Python and Django”更多地谈到了 Python 和 HAML。
我在使用 Ruby 编程时尽可能多地使用 HAML。而且,作为脚注,还有一些工作正在为 Perl 获取模块,这些模块与漂亮的 MVC Mojolicious 一起使用:
【讨论】: