在 webapp2 中将请求作为全局变量访问
我正在将我的 appengine 应用程序从 Pylons 迁移到 webapp2。 在 pylon 中,请求和响应对象是全局的。然而,在 webapp2 它们作为对象属性(self.request, 自我反应)。
但我认为在 extras 包中使用 Local 模块是为了 以线程安全的方式访问全局变量。
我无法弄清楚如何作为全局访问请求对象 变量而不是 webapp2 应用程序中的 self.request ,因为它将保留我现有的控制器代码。
我找不到太多有关本地模块及其使用方法的文档。 Flask 和 Bottle 等其他框架也可以使用 contextLocal 来全局访问请求。因此,在 webapp2 中以相同的方式访问请求对象将是一个更可移植的代码。
I am migrating over my appengine application from Pylons to webapp2.
In pylons the request and response objects are global. However, in
webapp2 they are accessed as object attributes (self.request,
self.response).
But I assume using Local module in the extras package is meant for
accessing global variables in a thread safe manner.
I'm not able to figure out how to access request object as a global
variable instead of self.request in a webapp2 app, as it would preserve my existing controller code.
I was not able to find much documentation on local module and how to use it. Other frameworks like Flask and Bottle also have global access to request using contextLocal. So, it would be a more portable code to access request object the same way in webapp2 as well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
注册表在应用程序级别和请求级别都可用。之前的答案涉及应用程序级别。
下面的代码允许您在请求级别使用全局变量。
The registry is available at both the app level and the request level. The previous answer dealt with the app level.
Below is code that allows you to use globals at the request level.
我也无法找到全局请求对象。相反,我使用注册表在请求之间传递内容。看看这个:
http://webapp-improved.appspot.com/guide/app .html#registry
I was not able to find global request objects either. Instead I used the Registry to pass stuff around between requests. Check this out:
http://webapp-improved.appspot.com/guide/app.html#registry