python-3.x - 在烧瓶中懒惰加载时如何处理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.
任何想法如何处理这个问题。
解决方案
您希望您的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')
...