【问题标题】:Link should only be visible to the superuser and the group链接应该只对超级用户和组可见
【发布时间】:2020-02-28 11:02:10
【问题描述】:

我在 _base.py 中有以下 url,当用户悬停一个名为 Uploads 的部分时,它将在左侧呈现一个链接,

{'label': 'Upload User Data', 'url': '/admin/user/bulk_user_update/', 'permissions': 'bulkupdate.access_user'},

我希望这个 url 只对超级用户和当前权限 bulkupdate.access_user 可见。

我怎样才能做到这一点?

【问题讨论】:

    标签: python django


    【解决方案1】:

    我觉得你可以用这个:

    {% if request.user.is_superuser %}
      <a href="#"> link only superusers can view </a>
    {% else %}
       <a href="#"> superuser can't view this link (anyone other than super user can view this link) </a>
    {% endif %}
    

    @更新

    所以在SUIT_CONFIG中你可以添加用户是不是超级用户,如下图所示

    {'label': 'Upload User Data', 'url': '/admin/user/bulk_user_update/', 'permissions': ('bulkupdate.access_user', 'user.superuser')},
    

    现在,如果用户直接在浏览器上输入 url,我们需要阻止 html,以便您可以使用模板 if else 条件,如@Sreevardhan 所示,有一个小更新。见下文

    {% block content %}
    
    
    
    {% if not request.user.is_superuser %}
      <div>Please raise a ticket for access</div>
    {% else %}
       <div>Please upload the file ....</div>
    {% endif %}
    
    
    {% endblock %}
    

    【讨论】:

    • 感谢您的快速响应,所以我需要在模板中添加这个不是。我应该怎么回他,链接本身不应该是可见的
    • 如何在 html 文件中返回,
    • 我已经更新了代码,模板标签中的任何内容都只对超级用户可见
    • 不,可能你理解错了,左边有一个叫做上传的部分,当悬停在上面时,我会得到一堆通过_base.py给出的链接。在问题中,我不想显示该网址本身。在上传部分中,您将上传团队数据、上传用户数据、上传配置数据.... 明智的做法
    • 我想在悬停在上传时隐藏上传用户数据,所以我应该在哪里检查用户是超级用户,我可以传递这样的东西 {'label': 'Upload User Data', 'url ': '/admin/user/bulk_user_update/', 'permissions': 'bulkupdate.access_user', 'user': 'super_user'},
    猜你喜欢
    • 1970-01-01
    • 2018-02-02
    • 2018-07-27
    • 2023-03-22
    • 2020-01-17
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 2010-11-27
    相关资源
    最近更新 更多