0

我有一个带有下拉菜单的模板。下拉列表包含几个选项(阅读链接)。When one of them is chosen I want the dropdown to be highlighted. 为此,我想检查请求路径是否是下拉菜单选项之一。

也就是说,我在下拉列表中的链接有 url1、url2、url2,我想在模板中执行此操作:

{% if request.path in [url1, url2, url3] %}
    highlight dropdown menu
{% endif %}

解决问题的最佳方法是什么?

4

2 回答 2

1

您可以创建简单的标签并使用它来突出显示下拉列表:

@register.simple_tag
def check(url):
    for elem in url_list:
        if elem in url:
            return true
    return false

然后将其应用于您的模板:

<select {% if check request.get_full_path %}class="highlighted"{% endif %} >
....
</select>
于 2012-10-12T09:18:27.863 回答
0

使用 Samuele 的回答,我创建了一个像这样的过滤器:

@register.filter
def check(url, url_list, delimeter=","):
    url_list = url_list.split(delimeter)
    for item in url_list:
        if url in item:
            return True
    return False

然后在我的模板中,我使用以下代码:

{% if request.path|check:"url1,url2" %}
    # here goes the html code
{% endif %}
于 2012-10-13T04:31:38.127 回答