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