Python 在django中突出显示下拉菜单
我有一个带有下拉菜单的模板。下拉列表包含多个选项(读取链接)。当其中一个被选中时,我希望下拉列表高亮显示。为此,我想检查请求路径是否是下拉菜单选项之一 也就是说,我在下拉列表中的链接有URL url1、url2、url2,我想在模板中这样做:Python 在django中突出显示下拉菜单,python,django,Python,Django,我有一个带有下拉菜单的模板。下拉列表包含多个选项(读取链接)。当其中一个被选中时,我希望下拉列表高亮显示。为此,我想检查请求路径是否是下拉菜单选项之一 也就是说,我在下拉列表中的链接有URL url1、url2、url2,我想在模板中这样做: {% if request.path in [url1, url2, url3] %} highlight dropdown menu {% endif %} <select {% if check request.get_full_pat
{% if request.path in [url1, url2, url3] %}
highlight dropdown menu
{% endif %}
<select {% if check request.get_full_path %}class="highlighted"{% endif %} >
....
</select>
解决问题的最佳方法是什么?您可以创建您的解决方案,并使用它突出显示下拉列表:
@register.simple_tag
def check(url):
for elem in url_list:
if elem in url:
return true
return false
然后将其应用于模板:
{% if request.path in [url1, url2, url3] %}
highlight dropdown menu
{% endif %}
<select {% if check request.get_full_path %}class="highlighted"{% endif %} >
....
</select>
....
根据萨缪尔的回答,我创建了一个如下过滤器:
@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 %}
这非常接近:。看看这篇文章的实现细节:我使用了你的想法,但是我使用了一个过滤器,而不是简单的标签。谢谢