首页 > 解决方案 > 在烧瓶中懒惰加载时如何处理kwargs

问题描述

我试图通过使用 app.add_url_rule 在烧瓶中延迟加载 python 方法我通过解析每个 python 文件并获取 method_name/argument1/argument2 等来创建 url 规则...

但是在某些方法中有 kwargs,我如何在延迟加载时处理我的烧瓶端点中的 kwargs,这是示例 -

def create_user(self, username, userid, **kwargs):
    *Method implementation*

上述情况下的 url_rule 是

/create_user/<username>/<userid>

如果我访问http://127.0.0.1:5000/abc/1212/company=new

我明白了

Not Found The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

任何想法如何处理这个问题。

标签: python-3.xflask

解决方案


您希望您的company变量是 URL 参数,而不是 URL 本身的一部分:

http://127.0.0.1:5000/abc/1212?company=new

然后在您的应用程序中,您可以从以下位置访问它们flask.request.args dict

@app.route('/<username>/<userid>')
def create_user(self, username, userid):
    url_params = request.args
    company = url_params.get('company', 'default_if_none')
    ...

推荐阅读