Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从django中的设置文件设置用户权限_Django - Fatal编程技术网

从django中的设置文件设置用户权限

从django中的设置文件设置用户权限,django,Django,我的settings.py文件中有以下菜单: ADMIN_MENU = [ { 'name': 'Users', 'models': [ 'User', 'Message', 'Payment', ], 'icon': 'icon-user' }, { 'name': 'Inventory', 'model

我的
settings.py
文件中有以下菜单:

ADMIN_MENU = [
    {
        'name': 'Users',
        'models': [
            'User',
            'Message',
            'Payment',
        ],
        'icon': 'icon-user'
    },
    {
        'name': 'Inventory',
        'models': [
            'Country',
            'Server',
            'Package',
            'blog.post'
        ],
        'icon':'icon-user'
    },
    {
        'name': 'Blog',
        'models': [
            'Post',
        ],
        'icon':'icon-user'
    },
    {
        'name': 'Reports',
        'models': [
            ('Users', '/console/reports/users'),
            ('Usage', '/console/reports/usage'),
        ],
        'icon':'icon-user'
    }
]
现在,我想做的是:
-如果用户是超级用户,请让他查看整个菜单
-如果用户是stuff的一部分(
is_staff
),则只允许他查看
报告
部分

我可以直接从我的
settings.py
文件中执行此操作吗?如果这是不可能的,我如何才能实现我想要的


如果需要,我会提供任何其他信息。

这在设置文件中是不可能的(我无论如何都不知道)

您可以在菜单模板中轻松修复此问题。在我的情况下,我只希望超级用户能够看到管理仪表板链接

{% if request.user.is_superuser %}
    <a href="{% url 'admin:index' %}">Admin dashboard</a>
{% endif %}

我看了文件。我知道需要
@permission\u
decorator,但这对我没有帮助如果这对我没有帮助,你打算如何使用
管理菜单
?在这里没有提到它。
from django.contrib.auth.decorators import permission_required

@permission_required('polls.can_vote')
def my_view(request):
    ...