2009-10-20 155 views

回答

2

您通常应该在某种RequestHandler或非WebApp框架中的等价物中执行所有操作。但是,如果你确实坚持要求在20世纪90年代早期停滞并编写简单的CGI脚本,那么环境变量SERVER_NAME和PATH_INFO可能就是你想要的;有关更多信息,请参阅CGI参考。

+0

是的,首先导入os然后查看'os.environ ['PATH_INFO']'和'os.environ ['QUERY_STRING']'。 – JasonSmith 2009-10-20 12:34:42

+1

我不同意这只是90年代的事情。不同的应用程序有各种各样的需求。一旦我必须确保URL中的斜线。我没有使用webapp,而是检查了'PATH_INFO'并设置了它的位置标头。当然,我一般同意Woobie你需要一个框架。 – JasonSmith 2009-10-20 12:36:04

+0

我期望这样做的原因是为了避免通过一串长长的函数传递这个值。也许我需要重新思考我是如何写这个的? – donut 2009-10-21 08:00:25

0

由于使用请求外部代码处理它是没有意义的我假设你想从处理程序调用的某个方法访问它,而不传递请求。您的选择是:

  1. 重构代码,以便将请求传递给它。
  2. 如果前者不可行,则通过定义全局threading.local()来使用黑客技术,将请求存储在请求处理程序的某处并在您的方法中访问它。
+0

您不需要threading.local(),因为App Engine Python是单线程的。 – 2009-10-20 13:46:42

+0

哈哈,你让我挂了。看看我对Wooble的回答的评论。我想我需要重新考虑我的代码。 – donut 2009-10-21 08:02:29

相关问题