簡単に実装できるpython用のhtmlジェネレーターを探しています。これを見つけた
http://www.decalage.info/python/html
しかし、テーブルにCSS要素(ID、クラス)を追加する方法はありません。
どうも
テンプレートではなくプログラムによる生成が必要な場合は、Karrigellの HTMLTags モジュールが1つの可能性です。たとえば、 class
属性(Pythonでは予約語になります)、最初の大文字を大文字にする、つまり、先ほど指定したドキュメントのURLを引用するトリック:
Pythonキーワード(クラス、タイプ)と同じ名前の属性は大文字にする必要があります:
print DIV('bar', Class="title") ==> <DIV class="title">bar</DIV>
Dominate は、タグを簡単に作成できるHTML生成ライブラリです。 dominateでは、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ジェネレーターの1つです。私はそれをビルド時に使用して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>
実際には、IDやクラスなどの属性をHTML.pyのオブジェクトに追加できます( http://www.decalage.info/python/html )。
attribsは、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オブジェクトで使用して、行とセルをフォーマットできます。列にはまだ存在しませんが、必要に応じて簡単に実装できるはずです。
さて、ここに別のhtmlジェネレーターがあります。または、コンパイラーとして考えたいと思います。
https://pypi.python.org/pypi/python-html-compiler
これは、タグと属性の定義に使用できる基本クラスのセットです。したがって、タグクラスには属性と子があります。子はそれ自体が属性や子などを持つタグクラスです。また、ルートクラスで始まるパラメータを設定して、さまざまなブランチを処理することもできます。
これにより、必要なすべてのタグクラスを定義できるため、カスタマイズされたクラスを作成し、必要なタグや属性を実装できます。
ちょうどこれで始めたので、誰かがテストしたい場合:)
HTML生成または任意のテキスト生成、 jinja は強力なテンプレートエンジンです。
Python HAML実装のいくつかに興味があるかもしれません。HAMLはHTMLの短縮形のようなもので、数分で習得できます。SASSと呼ばれるCSSバージョンもあります。
http://haml.hamptoncatlin.com/
" PythonおよびDjango "で使用するHAML実装はありますかPythonおよびHAMLについてもう少し説明します。
Rubyでプログラミングしているときは、できるだけHAMLを使用しています。また、脚注として、Nice MVC Mojoliciousで動作するPerl用のモジュールを取得する作業もいくつかあります。