单击时从URL中删除get参数

时间:2013-06-25 16:03:20

标签: python django get tagging

我的网站上有一个多标签过滤系统,即我可以点击标签过滤“foo”,然后点击另一个标签过滤“bar”。当我点击标签时,它会在网址上附加一个参数:

然后,用于过滤的当前标签显示在页面顶部。我需要能够单击标记,并从URL中删除其关联的参数。如果我点击“b”给出的网址上的“bar”标签,我希望网址为“a”。我该如何操纵URL?

目前,如果你点击一个标签,它会从过滤器中删除所有标签(只是一个简单的重定向回主域),因为我找不到更好的方法来玩这个网址。

编辑: 添加标签

{% for tag in value.tags %}
    {% if tag.name %}
        <a href="{{ request.get_full_path }}?tag={{ tag.name.strip }}">
        {{ tag.name }}
        </a>
    {% endif %}
{% endfor %}

删除

{% for tag in tag_filters %} 
    <a href='/'>
    {{ tag }}
    </a>
{% endfor %} 

1 个答案:

答案 0 :(得分:1)

这样的事情应该有用......

{% for tag in tag_filters %} 
    {% with "/?tag="|add:tag as to_cut %}
    <a href='{{ request.get_full_path|cut:to_cut }}'>
    {% endwith %}
    {{ tag }}
    </a>
{% endfor %} 

...虽然使用单个查询参数可以更好地解决这个问题,但可以使用多个字符串,例如......

http://www.domain.com/?tags=foo+bar+baz

...并使用JavaScript来操作URL,因为它更灵活。