2

変数を渡すことができる Django テンプレート タグを書きたいと思います。

変数が派生したモデル フィールドのタイプ (CharField、BooleanField、IntegerField など) や、フィールドの定義で使用されるその他の情報 (max_length など) に応じて、テンプレート タグの動作が異なるようにしたいと考えています。

このドキュメントに従って、変数をテンプレートタグに簡単に渡すことができます: テンプレート変数をタグに渡す

変数の元のモデル フィールドのクラス名とモデル パラメータを特定する方法はありますか?

つまり、次のようなタグを作成できますか:

{% template_tag model.field %}

タグレンダリング関数では、モデルからの情報にアクセスしますか?

field = models.CharField(max_length=40)
4

1 に答える 1

5

Python のtype関数を使用して、クラス タイプを判別できます。

if type(field) == models.CharField:
  #CharField specific code
elif type(field) == models.IntegerField:
  #IntegerField specific code
于 2010-02-07T01:25:46.530 に答える