-1

PHP では、PHP をテンプレート言語にすることができます。テンプレートシステム/言語を必要とせずに、うまく機能するようです。

しかし、言語のPythonで似たようなものは見つかりません。次のようなことをどのように行いますか。

私は別の無関係なSOの質問からこれを取りました:

<?php foreach( $dates as $year => $year_content  ): ?>
<h2><?php echo $year ?></h2>

<?php foreach( $year_content['months'] as $months ): ?>
<h3><?php echo $months->month ?> - <?php echo $months->sales ?></h3>
<?php endforeach; ?>

<?php endforeach; ?>

誰かのフレームワークなしで、Webビューで「ネイティブ」Pythonのこのようなものを見つけることができませんでした。ありがとう。

編集:攻撃はありません。テンプレート言語は必要ありませんでした。

編集: 反対票にもかかわらず、適切なケースは Python 3 です。2.x ユーザーが 3.x に移行するのは 5 年間の見込みですが、すべてのテンプレート言語が 3.x をサポートしているわけではありません。たとえば、Jinja は「実験的」な 3.x をサポートしています。なぜ私はそれを使うのですか?私はしません。そのため、ネイティブのものを使用できるようにしたい場合に、それらに依存するようになりますが、残念ながら、できないようです。

4

3 に答える 3

1

ビジネス ロジックとプレゼンテーションを混在させることは、Python のやり方ではないため、Python の世界にはこの問題に対する適切な解決策はありません。モジュールで利用できるPSPという古いプロジェクトがありましたが、mod_python私が説明した理由により、現在は確実に死んでいます。

したがって、フレームワークまたはベアWSGIアプリは、Python を使用した Web 開発に入る 2 つの方法です。インターネット経由で利用できるテンプレート ライブラリが多数あります。

  • ジンジャ2
  • マコ
  • カメレオン
  • ...

ニーズにより適したものを選択できます。

于 2012-08-30T14:39:26.257 に答える
1

Python には、PHP が持つ意味でのネイティブ テンプレートはありません。Python を ISAPI 拡張として使用すると、 のような構文が得られます<% print "foo" %>。あるいは、純粋な CGI で Python スクリプトを作成することもできます。これらの道はおそらく非常に困難であり、フレームワークを使用すると、より適切にサービスを提供できます。フレームワークを使用すると、他の開発者の経験を活用できるだけでなく、CGI や HTTP を直接処理する際の荒削りな部分を滑らかにすることができます。

以前に尋ねた同様の質問に対する私の回答を参照してください。

于 2012-08-30T14:39:53.597 に答える
0

Jinja2 http://jinja.pocoo.org/docs/をチェックしてください

Python の限られたバージョンで内部的にプログラムできるテキスト ファイル テンプレートを作成できる、かなり単純なテンプレート言語です。

投稿した例は、Jinja2 では次のようになります。

{% for date in dates: %}
    <h2>{{ date.year }}</h2>

    {% for month in date.year_content['months'] %}
        <h3>{{ month.month }} - {{ month.sales }}</h3>
    {% endfor %}
{% endfor %}
于 2012-08-30T14:36:45.897 に答える