0

プロジェクト内のすべてのテンプレートにメソッドのような機能を追加するための最良の方法は何ですか?

私が必要とする方法は次のとおりです。

def has_access(user, code):
    return user has access to code

テンプレート内では、次のように使用されます。

{% if has_access(request.user, 'add-project') %}
    html code here
{% endif %}

私は何も「フィルタリング」していないので、カスタムフィルターは機能しません。また、私が見ることができることから、カスタムコンテキストプロセッサは追加のパラメータを受け入れません。

djangoでこれを行う方法がわかりません。

4

1 に答える 1

2

カスタムフィルターは実際に機能します:

{{ user|has_access:code }}

カスタムテンプレートタグは機能します:

{% has_access user code %}

ミドルウェアは機能する可能性があります...しかし、より多くの情報がなければ、問題に最適な方法を言うのは難しいです。

于 2012-05-25T14:29:11.573 に答える