2013-06-25 61 views
1

我在我的網站上有一個多標籤過濾器系統,即我可以點擊一個標籤以「foo」過濾,然後點擊另一個標籤以「bar」過濾。當我點擊標籤,其附加參數的URL,因爲這樣的:刪除從URL點擊參數

然後,用於過濾的當前標籤顯示在頁面的頂部。我需要能夠點擊一個標籤,並從網址中刪除相關的參數。如果我點擊「b」給出的網址上的「bar」標籤,我會期望url爲「a」。我該如何操作URL?

目前,如果您單擊一個標籤,它會從篩選器中刪除所有標籤(只是簡單地重定向回主域),因爲我一直無法找到更好的方式來使用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 %} 
+0

目前爲止你有什麼代碼? – Aya

回答

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,因爲它更加靈活。

+0

我想我可能會使用單個查詢字符串,但我還不確定(在預先存在的結構中工作)。謝謝! –