如何使用 add_url_rule 通过 Flask 传递 GET 参数

how to pass GET parameters with Flask using add_url_rule

初学者问题: 是否可以使用 add_url_ruleGET 请求参数传递给 Flask 中的路由函数?

我收到错误消息,我稍后声明的 verify_username_route 函数(带 1 个参数)在没有传递任何参数的情况下被调用。

self.application_.add_url_rule(self.path_ + '/verify', 'verify', self.verify_username_route, methods=['GET'])

要在您的 URL 中传递任何参数,您可以使用 Flask 的内置模式。这些适用于 @app.route 装饰器和 add_url_route 方法。这是您的代码,带有一个参数:

self.application_.add_url_rule(self.path_ + '/verify/<int:val>', 'verify', self.verify_username_route, methods=['GET'])

其中重要的部分是确切的路线:/verify/<int:parameter>。这告诉 Flask 您希望路由采用 /verify/something 的格式,其中 something 是任何整数。发出请求时,无论在此处输入什么整数,都会作为名为 val.

的参数传递给您的 self.verify_username_route

阅读更多相关信息 here

要获取查询字符串参数,请在函数中使用 request.args.get('argname')。没有传递任何东西——这一切都是通过全局变量完成的。