を組み合わせ、私は以下のように複数のフィルタを使用します。は私のテンプレートでは、テンプレートフィルタジャンゴ
story|force_escape|markdown|nlToBr
私は自分のページにフィルタ何度もこの流れを使用して、私はこれらの3つのフィルタを使用するフィルタを作成したいと思います。 簡単に食べる方法はありますか?または、各フィルターのコードを見つけて、単一のカスタムフィルターで貼り付けて戻す必要がありますか?
ありがとうございました! ドリアン
を組み合わせ、私は以下のように複数のフィルタを使用します。は私のテンプレートでは、テンプレートフィルタジャンゴ
story|force_escape|markdown|nlToBr
私は自分のページにフィルタ何度もこの流れを使用して、私はこれらの3つのフィルタを使用するフィルタを作成したいと思います。 簡単に食べる方法はありますか?または、各フィルターのコードを見つけて、単一のカスタムフィルターで貼り付けて戻す必要がありますか?
ありがとうございました! ドリアン
あなたはPythonの関数の内部で、各フィルタの出力を組み合わせることにより、あなたのためにこのプロセス全体を行うだろうと、create your own template filter次のことができます、あなたのテンプレートで
from django import template
from django.template.defaultfilters import force_escape, breaklines
register = template.Library()
# Let's say those filters are also here, since they are not
# built-in Django filters... Otherwise import them
@register.filter
def markdown(content):
pass
@register.filter
def story(content):
pass
@register.filter
def markdown_escaped(content):
return story(
force_escape(markdown(linebreaks(content)))
)
そして使用:
{% load yourapp_extra %}
{{ 'my_markdown_string'|markdown_escaped }}
フィルタは機能に過ぎません。あなた自身のフィルタの中でそれらを呼び出すことができます。
from ... import ...
@register.filter
def combo(value):
return force_escape(markdown(nlToBr(value)))