web-dev-qa-db-ja.com

Python

HTMLテンプレートにPythonのデータを入力したいと思います。私はHTMLを知りませんが、私の同僚がHTMLテンプレートを準備し、私がデータを提供します。しかし、彼はPythonについてほとんど知りません。

このHTMLとPythonの分離をうまく処理する非常に基本的なテンプレートフレームワークを提案していただけますか(つまり、HTMLの特別な構文はそれほど多くありません。また、Pythonデータコード)?理想的には、HTMLテンプレートは純粋なHTMLに非常に近い必要があります。

データとしてテーブルも用意するので、HTMLテーブルコードを準備する必要がなければいいのですが、代わりに最小限のマークアップロジックでそれを行うことができます。理想的には、同僚がCSSのようなより高度な概念を適用している場合でも、システムは機能するはずです。

広範なリスト を見つけましたが、技術用語がわからないため、どのシステムが私の要件に最も近いかを判断するのは非常に困難です。

編集:要点は、私たちはそれを使った初心者であり、基本的な解決策だけが必要です:)-それでも理想的には、私にとってHTMLはなく、彼にとってはプレーンHTMLをはるかに超えていません。

10
Gerenuk

まあ Django は非常に優れた強力なテンプレートエンジンを備えています。その目的はHTMLをpythonロジックから分離することです(ただし、Django =完全に、テンプレートを作成したいだけの場合はやり過ぎかもしれません)。

テンプレートが本当に簡単(ループなし)の場合は、ネイティブpython string.format 関数(Fortranコードの構成ファイルを生成するサイドプロジェクトで使用しましたが、それほど悪くはありませんでした)。

他の選択肢は jinja2 で、これはDjangoテンプレートに非常に近いですが、スタンドアロンでより強力です。

14
jb.

Web2pyも検討することをお勧めしますか?最も基本的なレベルでは、同僚にhtmlファイルを作成してもらい、データが必要な場合はいつでもそれを{{= var}}に置き換えることができます。変数は、python関数。この関数から、データをまとめて、「return dict(var = var)」を使用してhtmlビューを返すことができます。

ビューが次のようになっている場合:

<html>
    <head>
        <title>some title</title>
    </head>
    <body>
        <h1>{{=message}}</h1>
    </body>
</html>

コントローラは次のようになります。

def index():
    message = "Hello World"
    return dict(message=message)

他の人が言及しているように、Djangoを使用することもできますが、リンクを確認してください web2pyドキュメント

4
Nick