Я ищу легко реализованный генератор html для python. Я нашел этот
http://www.decalage.info/python/html
но нет возможности добавлять элементы css (id, class) для таблицы.
ТНХ
Я ищу легко реализованный генератор html для python. Я нашел этот
http://www.decalage.info/python/html
но нет возможности добавлять элементы css (id, class) для таблицы.
ТНХ
Если вы хотите, чтобы программная генерация, а не шаблонизация, Karrigell HTMLTags - одна из возможностей; он может включать, например, атрибут class
(который будет зарезервированным словом в Python) путем хитрости его первоначального, т.е. цитирования URL-адреса документа, который я только что дал:
Атрибуты с тем же именем, что и Ключевые слова Python (класс, тип) должны быть с заглавной буквы:
print DIV('bar', Class="title") ==> <DIV class="title">bar</DIV>
HTML Генерация обычно выполняется с одним из бесконечных количеств языков HTML-шаблонов, доступных для Python. Лично мне нравится Templess, но Genshi, вероятно, самый популярный. Их бесконечное количество, есть список, который, скорее всего, будет неполным.
В противном случае вы можете использовать lxml, где вы можете сгенерировать его более программным способом XML-ish. Хотя я с трудом вижу преимущества.
Там почтенный HTMLGen Робин Фридрих, который трудно найти, но все еще доступен здесь (датированный 2001 годом, но HTML не сильно изменился с тех пор;-). Там также xist. Конечно, в настоящее время генерация HTML, как указывает Леннарт, обычно лучше делать с использованием систем шаблонов, таких как Jinja или Mako.
Это один сверхпростой генератор HTML, который я написал. Я использую его build-time для генерации 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>
Dominate - это библиотека генерации HTML, которая позволяет легко создавать теги. В доминанте зарезервированные слова python имеют префикс с подчеркиванием, поэтому он будет выглядеть так:
from dominate.tags import *
t = div(table(_id="the_table"), _class="tbl")
print(t)
<div class="tbl">
<table id="the_table"></table>
</div>
Отказ от ответственности: я являюсь автором доминирующего
Хорошо, вот еще один генератор html, или я предпочитаю думать об этом как о компиляторе.
https://pypi.python.org/pypi/python-html-compiler
Это набор базовых классов, которые можно использовать для определения тегов и атрибутов. Таким образом, класс тега имеет атрибуты и дочерние элементы. Дети сами являются тегами, которые имеют атрибуты и дети и т.д. Также вы можете установить параметры, которые начинаются с вашего корневого класса и обрабатывать различные ветки.
Это позволит вам определить все классы тегов, которые вы хотите, таким образом, сможете создавать настраиваемые классы и внедрять любые теги или атрибуты, которые вы хотите.
Только что начал, так что если кто-то хочет протестировать:)
На самом деле вы можете добавить любые атрибуты, такие как id и class, к объектам в HTML.py(http://www.decalage.info/python/html).
атрибуты - необязательный параметр классов Table, TableRow и TableCell. Это словарь дополнительных атрибутов, которые вы хотите установить. Например, следующий код устанавливает id и класс для таблицы:
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 для форматирования строк и ячеек. Он еще не существует для столбцов, но при необходимости должен быть легко реализован.
Возможно, вас заинтересуют некоторые реализации Python HAML. HAML похож на HTML-стенографию и занимает всего несколько минут, чтобы узнать. Там также есть версия CSS SASS.
http://haml.hamptoncatlin.com/
"Есть ли реализация HAML для использования с Python и Django" немного говорит о Python и HAML.
Я использую HAML как можно больше, когда я программирую в Ruby. И, как сноска, также была часть работы по созданию модулей для Perl, которые работают с приятным MVC Mojolicious: