我想根据给定的权限显示菜单项,例如,不是项目经理的用户,他们无法访问具有不同角色的其他用户的相同标头。 我已经实现了客户机仪表板和管理仪表板,以将用户与模板分开。
这是我的代码:
class UsersListView(istView):
permission_required = 'can_view_user'
template_name = "user_list.html"
model = User
def dispatch(self, request, *args, **kwargs):
if check_permission_BM_or_AM(request):
if request.user.is_authenticated():
return super(UsersListView, self).dispatch(request, *args, **kwargs)
return redirect_to_login(self.request.get_full_path(),
self.get_login_url(),
self.get_redirect_field_name())
<ul>
<li class="dropdown-submenu ">
{% if can_view_user%}
<a tabindex="-1" href="/user/list/"><span
class="fa fa-fw fa-book "></span> Users</a>
{% endif %}
</li>
如何使用模板根据给定的`permission_required =&#39; can_view_user&#39;来使我的班级视图工作。许可?
提前谢谢
答案 0 :(得分:0)
覆盖UsersListView的get_context_data方法,Sample可以是下面给出的格式。
class UsersListView(ListView):
# define your variables
# dispatch method
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['can_view_user'] = self.can_view_user
return context