1

Tornado 2.0 (Python 2.6.5) を使用して単純な Web アプリを構築しています。

当然のことながら、Tornado テンプレートには Python コードのスニペットが含まれています。テンプレート以外のコードでは、pychecker と pylint を使用してエラーをチェックしています。

ただし、明らかに pychecker と pylint をテンプレートに対して直接実行することはできません。b/c テンプレートは適切な Python ファイルではありません (Tornado を使用していないユーザーの場合: それらはいくつかの制御シーケンスと埋め込まれた Python コードを含む html のようなスニペットです)。

だから、私の質問は、これらのテンプレート ファイルの python コードに pychecker/pylint を適用する良い方法を提案できる人はいますか? おそらく、これにはファイルからコードを抽出することが含まれます。

これをどのように行うかについては、いくつかの推測をすることができますが、他の人がこれを問題と認識しているかどうか、またどのような解決策を追求しているかに興味があります. 私はまだWebアプリの設計/構築にかなり慣れていないので、実際の経験に基づいた回答に興味があります.

4

1 に答える 1

0

分析できないPythonコードでテンプレートが乱雑にならないように、ビュークラスパターンを使用する必要があります。

  • 関数の代わりに、ビューを処理するPythonクラスを作成します

  • すべての「テンプレートロジック」コードをクラスメソッドとして使用します。テンプレートはそれらを{{view.get_full_name}}やdefget_full_name(self)のように呼び出します:return self.item.first_name + "" + self.item.last_name

  • クラスからインスタンスを作成する

  • 処理の開始点として()を呼び出します

  • 「self」をコンテキスト変数としてテンプレートに渡します

Djangoのいくつかの手順ですが、通常、すべてのPythonフレームワーク(Pyramid、Zope)は同じパターンに従います。

Djangoのクラスビュー

「$yourframeworknameビュークラス」は、Googleでより多くのチュートリアルを生成するはずです。

于 2011-08-11T08:10:40.083 に答える