从GET字典中删除值并重定向到新URL

时间:2010-06-07 12:21:47

标签: django redirect

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

2 个答案:

答案 0 :(得分:6)

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

from django.http import HttpResponseRedirect

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

如果您需要更频繁地使用此功能,您还可以在中间件中包含此功能!

答案 1 :(得分: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>