如何使用 add_url_rule 通过 Flask 传递 GET 参数
how to pass GET parameters with Flask using add_url_rule
初学者问题:
是否可以使用 add_url_rule
将 GET 请求参数传递给 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')
。没有传递任何东西——这一切都是通过全局变量完成的。
初学者问题:
是否可以使用 add_url_rule
将 GET 请求参数传递给 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')
。没有传递任何东西——这一切都是通过全局变量完成的。