这个重定向有什么问题?(Google App Engine - Python)

1 投票
1 回答
783 浏览
提问于 2025-04-16 13:07

SubmitHandler 里,我 获取 了提交的 url

    url = self.request.get("url").rstrip().lstrip()

然后我检查这个 url 的长度是否为零,如果是零,我就会重定向到 /urlparseerror

    if len(url) == 0:
        logging.info("""***len(url) is --zero--: %s***""" % len(url))
        self.redirect("/urlparseerror")

但是出于某种原因,重定向没有执行。根据 logging.info 的信息,len(url) 的确是零:

***len(url) is --zero--: 0***

我到底哪里做错了呢?

1 个回答

6

redirect() 这个函数不会停止你后面代码的执行。所以如果在你发的代码片段之后,代码继续执行并返回其他类型的响应,那么你的重定向就会被忽略。如果是这种情况,记得加一个 return 来确保返回这个响应。

if len(url) == 0:
    logging.info("""***len(url) is --zero--: %s***""" % len(url))
    self.redirect("/urlparseerror")
    return

撰写回答