Подтвердить что ты не робот

Генератор python html

Я ищу легко реализованный генератор html для python. Я нашел этот

http://www.decalage.info/python/html

но нет возможности добавлять элементы css (id, class) для таблицы.

ТНХ

4b9b3361

Ответ 1

Если вы хотите, чтобы программная генерация, а не шаблонизация, Karrigell HTMLTags - одна из возможностей; он может включать, например, атрибут class (который будет зарезервированным словом в Python) путем хитрости его первоначального, т.е. цитирования URL-адреса документа, который я только что дал:

Атрибуты с тем же именем, что и Ключевые слова Python (класс, тип) должны быть с заглавной буквы:

print DIV('bar', Class="title")  ==>  <DIV class="title">bar</DIV>

Ответ 2

HTML Генерация обычно выполняется с одним из бесконечных количеств языков HTML-шаблонов, доступных для Python. Лично мне нравится Templess, но Genshi, вероятно, самый популярный. Их бесконечное количество, есть список, который, скорее всего, будет неполным.

В противном случае вы можете использовать lxml, где вы можете сгенерировать его более программным способом XML-ish. Хотя я с трудом вижу преимущества.

Ответ 3

Там почтенный HTMLGen Робин Фридрих, который трудно найти, но все еще доступен здесь (датированный 2001 годом, но HTML не сильно изменился с тех пор;-). Там также xist. Конечно, в настоящее время генерация HTML, как указывает Леннарт, обычно лучше делать с использованием систем шаблонов, таких как Jinja или Mako.

Ответ 4

Это один сверхпростой генератор 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>

Ответ 5

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>

Отказ от ответственности: я являюсь автором доминирующего

Ответ 6

Хорошо, вот еще один генератор html, или я предпочитаю думать об этом как о компиляторе.

https://pypi.python.org/pypi/python-html-compiler

Это набор базовых классов, которые можно использовать для определения тегов и атрибутов. Таким образом, класс тега имеет атрибуты и дочерние элементы. Дети сами являются тегами, которые имеют атрибуты и дети и т.д. Также вы можете установить параметры, которые начинаются с вашего корневого класса и обрабатывать различные ветки.

Это позволит вам определить все классы тегов, которые вы хотите, таким образом, сможете создавать настраиваемые классы и внедрять любые теги или атрибуты, которые вы хотите.

Только что начал, так что если кто-то хочет протестировать:)

Ответ 7

На самом деле вы можете добавить любые атрибуты, такие как 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 для форматирования строк и ячеек. Он еще не существует для столбцов, но при необходимости должен быть легко реализован.

Ответ 8

Возможно, вас заинтересуют некоторые реализации Python HAML. HAML похож на HTML-стенографию и занимает всего несколько минут, чтобы узнать. Там также есть версия CSS SASS.

http://haml.hamptoncatlin.com/

"Есть ли реализация HAML для использования с Python и Django" немного говорит о Python и HAML.

Я использую HAML как можно больше, когда я программирую в Ruby. И, как сноска, также была часть работы по созданию модулей для Perl, которые работают с приятным MVC Mojolicious:

http://metacpan.org/pod/Text::Haml