2017-06-20 9 views
0

誰かが特定のグループのユーザーにナビゲーションバーの特定のアイテムを表示する方法を教えてください。 例えば私は、特定のグループのために見えるようにするアイテム「学部」を必要とバーは次のようになります。ナビゲーションバーの特定のアイテムを特定のユーザーグループに表示する方法はありますか?

            Home | Faculty | Student | Admin 

、それがあるべきすべての他人のために:

              Home | Student | Admin 

私は考え

{% if user.groups.filter(name='Faculty group').exists() %} 
     <li>Faculty</li> 
{% endif %} 

ただし、この実装では間違いがあります。 ありがとうございます。

+0

まあを試してみてください間違っているのは、テンプレートの構文が無効であることです。パラメータ付きの関数を呼び出すことはできません。 –

答えて

1

最良の方法は、ユーザーモデルでpropretyを作ることです。今

@property 
def is_faculty(self): 
    return self.groups.filter(name='Faculty group').exists() 

、そのようなあなたのテンプレートを変更します。

{% if user.is_faculty %} 
     <li>Faculty</li> 
{% endif %} 
+0

ありがとうございます! –

1
{% if request.user.groups.all.0.name == 'the group name' %} 
     <li>Faculty</li> 
{% endif %} 

、この

+0

ありがとうございました!それはエレガントなものです –