Django,从request.GET中排除参数

Jam*_*Lin 4 django parameters url request

从request.GET中排除参数的最佳方法是什么?

例如,给定一个url参数?a=a&b=b&c=c,我想取出param b来生成url param ?a=a&c=c而不改变request.GET

现在我循环通过键取出b

params = {}
for key,value in request.GET.items():
  if not key == 'b':
    params[key] = value

url = urllib.urlencode(params)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好,更优雅的方式来实现相同的结果?例如.

request.GET.urlencode(exclude=['b',])
Run Code Online (Sandbox Code Playgroud)

甚至这个,更好

urllib.urlencode(request.GET.exclude('b'...)
Run Code Online (Sandbox Code Playgroud)

Sam*_*lan 9

这应该工作:

get = request.GET.copy()
del get['b']

params = urllib.urlencode(get)
Run Code Online (Sandbox Code Playgroud)