我在Geonode2.8公司实习。如果用户不在权限列表中,我必须隐藏Download Layer
按钮。前一个实习生在老版本的Geonode
中通过在按钮显示函数之前添加一个{% get_obj_perms request.user for resource.layer as "perms" %}
实现了这一点。但当我把它添加到我的GeoNode版本中时,它没有改变任何东西,按钮仍然在那里。你知道吗
{% if resource.storeType != "remoteStore" %}
{% get_obj_perms request.user for resource.layer as "layer_perms" %}
<li class="list-group-item">
{% if links or links_download %}
<button class="btn btn-primary btn-md btn-block" data-toggle="modal" data-target="#download-layer">{% trans "Download Layer" %}</button>
{% else %}
{% if request.user.is_authenticated %}
<button class="btn btn-primary btn-md btn-block" id="request-download">{% trans "Request Download" %}</button>
{% endif %}
{% endif %}
</li>
{% endif %}
第二部分,我在导航栏中有一个按钮,重定向如下
<li><a href="{% url "help" %}">{% trans "Help" %}</a></li>
我的问题是下一个,我怎么能有一个重定向,但在一个新的标签,我认为我可以使用target = _blank
,但它的django和它不工作。
这样地:
<li><a target= "_blank" href="{% url "help" %}">{% trans "Help" %}</a></li>
我认为在urls.py
中应该有所改变,但我是新来的,所以我不知道如何添加这个重定向。你知道吗
url(r'^help/$',
TemplateView.as_view(template_name='help.html'),
name='help'),
您应该使用您的函数
{% if "download_resourcebase" in layer_perms %}
,并通过更改download
来使用它,如change_resourcebase
等您已获取用户对指定对象的权限
但您尚未使用从此行获得的权限。因此,您需要检查用户是否拥有层对象的权限(例如can\u view、can\u download等)。你知道吗
您可以将代码更改为:
确保您根据您的要求更改代码。你知道吗
为了进一步的参考,您可以看看guardian-template-tags
相关问题 更多 >
编程相关推荐