4

テンプレートで使用するオブジェクトのリストを取得するカスタム フィルターを作成しようとしています。これまでのところ、私は持っています:

@register.filter
def get_my_object_list(user):
   return some list after processing

そしてテンプレートで:

{% for page in request.user|get_pages_with_no_menu %}
     Some rendering here.
{% endfor %}

これで問題なく動作し、ばかげているように聞こえるかもしれませんが、解決策が見つかりません。そのフィルターにユーザーは本当に必要ないので、パラメーターを持たないようにしたいと思います。これは可能ですか? テンプレートから呼び出すにはどうすればよいですか?

ありがとう

4

1 に答える 1

4

実際に探しているのは、テンプレート フィルターではなく、割り当てタグです。変数に値を割り当ててから、たとえば. それを繰り返します:

@register.assignment_tag(takes_context=True)
def get_pages_with_no_menu(context):
    # do some fancy stuff here
    return pages_with_no_menu

次に、次のようにテンプレートで使用できます。

{% get_pages_with_no_menu as pages %}
{% for page in pages %}
     Some rendering here.
{% endfor %}
于 2013-06-15T17:54:40.807 に答える