【问题标题】:What is wrong with this redirect? (Google App Engine - Python)这个重定向有什么问题? (谷歌应用引擎 - Python)
【发布时间】:2011-03-06 18:41:28
【问题描述】:

SubmitHandlerget提交url

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

并检查它的长度是否为零,如果为零,我将重定向到/urlparseerror

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

但由于某种原因,重定向未执行。根据logging.infolen(url)是零:

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

我做错了什么?

【问题讨论】:

  • url = self.request.get("url").strip() 相当于 l 和 r 条带。
  • 好的,谢谢。但这如何阻止重定向执行?
  • 这只是一个观察尝试在请求中使用单引号,例如:url = self.request.get('url'),为了执行重定向,你必须有一个零 url,检查是否您将任何字符串作为 url 传递,长度 > 0
  • @Chris-Top:臭氧的回答解决了这个问题。但是为什么我应该更喜欢单引号而不是双引号?我认为它们是等价的:stackoverflow.com/questions/56011/…

标签: python google-app-engine redirect


【解决方案1】:

redirect() 不会结束其余代码的执行。因此,如果在您发布了 sn-p 之后,您的代码继续返回某种其他类型的响应,您的重定向将被忽略。如果是这种情况,请粘贴 return 以返回响应。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 2011-01-11
    相关资源
    最近更新 更多