gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 06:16:58 26 4
gpt4 key购买 nike

我有多个具有多个权限的用户(管理员和用户)。示例:管理员可以看到边栏 a、b,但用户只能看到边栏 c。

我如何使用 Django 实现它?

谢谢

最佳答案

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

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 %}

关于django - 根据用户Django的权限制作动态侧边栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61862208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com