Flask在url_for中传递未知的Url参数并重定向

时间:2016-04-25 16:28:57

标签: python flask

我很好奇是否有人提出了一个很好的解决方案,用于在烧瓶中传递未知的URL参数。我认为必须有一个简单的解决方案,我只是完全消隐。任何帮助表示赞赏。

我们说我有www.example.com?foo=baz&bar=buzz

@app.route('/')
def index():
    foo = request.args.get('foo',None)
    bar = request.args.get('bar',None)
    return redirect(url_for('args', foo=foo, bar=bar, _external=True))

我似乎无法弄明白是传递任何未知论点的好方法。如果我www.example.com?foo=baz&bar=buzz&bing=bangwww.example.com?this=that到达同一路线,我需要将any/and所有参数传递给下一个视图。

1 个答案:

答案 0 :(得分:3)

request.argsMultiDict

  

MultiDict是一个字典子类,用于处理同一个键的多个值,例如包装器中的解析函数。这是必要的,因为一些HTML表单元素为同一个键传递多个值。

     

MultiDict实现所有标准字典方法。在内部,它将键的所有值保存为列表,但标准的dict访问方法只返回键的第一个值。

假设您不介意多值问题,您可以将其用作任何字典,并使用双*表示法将其作为关键字参数传递:

url_for('test', _external=True, **request.args)