1

現在取り組んでいるプロジェクトでは、Pythonの組み込みHTTPサーバーを使用する必要があり、ダイナミックHTMLページを自分で作成する必要があります。HTMLファイルの%REPLACE_ME%構文は最近煩わしくなりすぎており、PHPで行われているようにインプレースコードに置き換えたいと思います。文字列を(または他の同様の構文で)解析し、内部のコードを評価するための良い解決策はありますか?

編集:

Jon Clementsは、インプレースコードが必要な理由を説明するのを忘れていると指摘しました。2つの理由があります。1つはそのようなアプローチに慣れていることです。後者は、いくつかのループを使用したいので、モデルファイル内のテーブルなどのHTMLコードの半分を作成するのをやめたくないということです。stdlibの要件は、依存関係をできるだけ少なくしたいからです。しかし、私はそのためにいくつかの本当に本当にスリムなライブラリを許可することができました。

4

2 に答える 2

3

PHPに慣れている場合、任意のコードを実行できないと、最初はイライラする可能性があります。

PythonCGIモジュールを使用してこれを行うことができます。(ただし、PHPとは異なり、他の何かではなくインターフェイスを介して実行することを目的としています。WSGIがここに到達する方法であり、セットアップもそれほど多くありません)。

今では、プログラムロジックを表示ロジックから分離するのがより伝統的です。そのため、「ビュー」(応答オブジェクトを介して情報を返す)から情報を入力する「テンプレート」があります。これは一般に「MVC」と呼ばれますが、すべての「MVC」が「MVC」であるとは限りません。

PHPは、「プロジェクトのホームページ」のときから今でも覚えています。PHPは大きく進化しており、CGI用のCを記述しないための優れた方法でした...しかし、それ以来、言語と技術は進歩しています...

于 2012-12-18T22:32:56.507 に答える
2

最後のコメントに従って、私はいくつかのオプションの概要を説明します。

Pythonに組み込まれているので、最適なオプションはstringモジュールです。

コメントで述べられているように、ドキュメントはここにあります:7.1。ストリング

信じられないほど強力なサードパーティのテンプレートシステムがたくさんあります。私はPHPの大口ユーザーではありませんが、Smartyなどと同じように分類します。

Djangoテンプレート

それらの使用に関連する優れたオープンソースの本もありますDjangoBook:第4章-テンプレート

私はこれらをDjango以外で使用したことはありませんが、使用できるフレームワークがいくつかあることは知っています。別のシステムと統合するためにこれがどれだけの作業になるかはわかりませんが、間違いなく実行できます。

マコテンプレート

これは、非常に強力なもう1つの優れたテンプレートシステムです。これは、Pylonsのようないくつかの大きなフレームワークで使用されます。

Jinja2

これも優れたテンプレートシステムです。

テンプレートシステムについては、SOに関する他のいくつかの議論があります。Python用の最速のテンプレートシステムは何ですか?。これは単なる例ですが、そこにははるかに多くのテンプレートシステムのリストがあります。

于 2012-12-18T22:39:27.400 に答える