首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在webapp2上跟踪登录状态

在webapp2上跟踪登录状态
EN

Stack Overflow用户
提问于 2018-02-06 09:13:47
回答 1查看 75关注 0票数 0

我正在学习一门关于全栈开发(Python2和谷歌应用引擎)的Udacity课程,在其中一节课中,为了跟踪用户的登录状态,教授使用了以下函数:

代码语言:javascript
复制
    def initialize(self, *a, **kw):
    webapp2.RequestHandler.initialize(self, *a, **kw)
    uid = self.read_secure_cookie('user_id')
    self.user = uid and User.by_id(int(uid))

这个函数的目的是返回User对象,这样我就可以在不同的时间使用它的属性。

他解释说,每次请求时都会调用此函数。看起来它每次都在查询数据存储区。在真实的生产环境中,这是最具成本效益的方式吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-08 19:34:04

在第一次检查您共享的函数时,它看起来不像是在调用DataStore,因为我猜测read_secure_cookie是一个自定义函数,它可能类似于:

代码语言:javascript
复制
def read_secure_cookie(self,name):
        cookie = self.request.cookies.get(name)
        return cookie

如果这是此函数的定义类型,则它使用webapp2 Cookies,而不是从DataStore读取。

在任何情况下,正如@Alex在对您的问题的评论中建议的那样,根据您的使用情形,您可以考虑使用Memcache,因为当许多不同的请求使用相同的数据存储数据时,它是推荐的工具。但是,如果使用cookies的主要目的是跟踪用户状态,这可能是绑定到每个连接的参数,因此在这里使用cookies可能是更好的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48634005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档