gpt4 book ai didi

Python Tornado 获取 URL 参数

转载 作者:行者123 更新时间:2023-12-01 09:17:15 25 4
gpt4 key购买 nike

我试图在 get() 之前检查请求的参数被调用。我有一条这样描述的路线:

user_route = r"/users/key=(?P<key>\w+)"
app = web.Application([
web.URLSpec(user_route, user_manager.UserHandler), ..])

接下来,(在处理程序中) prepare()用于检查 get() 之前的请求.
def prepare(self):
# inspect request arguments
print(self.request.arguments) # prints "{}"

我遇到的问题是我无法访问来自 prepare() 的参数。 .最后一条语句打印一个空的字典。我的 get()成功使用在函数中传递的参数,如下所示:
def get(self, key):
print(key) #works

我如何访问 prepare() 中的参数?我也试过 self.argument('key')这会给出错误“400 GET .... Missing argument key”,但请求的 URL 中确实有一个关键参数。

最佳答案

在您的代码中 key不是 GET 参数,它是 path 的一部分. tornado.we.URLSpec将正则表达式中的任何捕获组传递到处理程序的 get/post/etc方法作为参数。
tornado.web.RequestHandlerRequestHandler.path_argsRequestHandler.path_kwargs其中包含来自 URLSpec 的位置和关键字参数.这些可在 prepare 中获得方法:

def prepare(self):
# inspect request arguments
print(self.path_kwargs) # prints {"key": "something"}

关于Python Tornado 获取 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41149093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com