根据用户 Django 的权限制作动态侧边栏



我有多个具有多个权限的用户(管理员和用户(。 示例:管理员能够看到侧边栏 A,B,但用户只能看到侧边栏 C。

我怎样才能用姜戈制作它?

谢谢

如果要将用户的权限应用于特定操作,例如列表,添加,删除等...您可以使用它,从逻辑上讲,用户必须事先分配其权限,这可以从管理面板完成,如果用户已经分配了权限,只需从视图或模板使用它们,如下所示:

views.py
@method_decorator(permission_required('model_name.add_model_name', reverse_lazy('forbbiden')), name="dispatch")
class Add_Model_Name(CreateView):
model = Model_Name
.
.
.
template:
{% if perms.add_model_name %}
<sidebar a>
<sidebar b>
{% endif %}
{% if not perms.add_model_name %}
<sidebar c>
{% endif %}

其中add_model_name是指要检查的权限的名称, 用户登录后,您可以直接访问模板中的perms变量,请求特定权限,例如:

{% if perms.add_model_name %} # if have permission to add a model
{% if perms.delete_model_name %} # if havepermission to delete a model
{% if perms.your_own_permission %} #if have a specific permission created by you

会是这样的:

{% if perms.is_admin %}
<sidebar a>
<sidebar b>
{% endif %}
{%if perms.is_user %}
<sidebar c>
{% endif %}

最新更新