値の中にカスタムテンプレートタグが必要model.TextField
です。オブジェクトテキストフィールドの値は次のようになります"lorem ipsum dolor {% mytag %}"
が、「mytag」はテンプレートタグとしてレンダリングされません。それはタグとしてライブラリに登録され、ページにロードされ、私は{{ object.textfield|safe }}
フィルターを持っています。それは可能ですか?
1493 次
1 に答える
1
Djangoのテンプレートエンジンはコード内のどこでも簡単に使用できるため、次のようなことができるはずです。
from django.template import Context, Template
rendered = Template("{% load your_tag_library %}",
object.textfield).render(Context())
テンプレートをファイルからレンダリングするのではなく、次のような文字列からレンダリングします。
"{% load your_tag_library %}lorem ipsum dolor {% mytag %}"
このコードは、たとえば、ビューで使用したり、モデルのメソッドとして使用したりできます。Context
は空であることに注意してください。テンプレート変数を含むdictを渡すこともできます。
さらに、テンプレートで直接処理するために、同様のことを行うカスタムtemplatetagを作成できます。これは、基本的に、templatetagの文字列を解析するtemplatetagです。
于 2012-08-09T19:47:31.070 に答える