2010-06-07 59 views
4

我想在我的应用中有一个视图,允许用户从GET列表中删除多个过滤器中的一个,然后使用列表中的其余变量进行重定向。我怎样才能做到这一点?可能有一个过滤器删除视图,该视图适用于用户可以在过滤器中设置的所有变量。从GET字典中删除值并重定向到新的URL

回答

6

如果我理解你的权利,你正在寻找的东西是这样的:

from django.http import HttpResponseRedirect 

def myview(request): 
    mypath = ..... #your redirect 
    remove_get_variable = request.GET.pop('myvar') 
    return HttpResponseRedirect(mypath) 

如果你需要这个更频繁,你也可以包括在中间件这个功能!

+0

AHHHH ......花了大昨日试图弄清楚这一点。 Thnx – Stephen 2010-06-07 12:30:33

1

我认为你可以做到这一点使用jQuery的图书馆查询插件

<script> 
    function deleteFilterFromQuery(filter){ 
     //remove this filter from url 
     var newquery = $.query.Remove(filter); 
     //redirect to the new url 
     window.location = newquery; 
    } 
</script> 

<a onclick="deleteFilterFromQuery(this.rel)" id="filter1RemoveLink" rel="filter1">remove filter 1 </a> 
<a onclick="deleteFilterFromQuery(this.rel)" id="filter1RemoveLink" rel="filter2">remove filter 2</a> 
<a onclick="deleteFilterFromQuery(this.rel)" id="filter1RemoveLink" rel="filter3">remove filter 3</a> 
+0

这很有趣...已经使用lazerscience的方法来解决这个问题,但很好的了解替代方案 – Stephen 2010-06-07 13:10:01