使用webapp2_附加组件的Python google appengine会话

使用webapp2_附加组件的Python google appengine会话,python,google-app-engine,session,Python,Google App Engine,Session,我正在尝试创建用户会话,如下所述。下面是登录页面处理程序类。一切都很好,但我无法理解“self.session.get('referer')”会做什么。我在谷歌上搜索,发现“HTTP_REFERER”指的是你所在的网站的url。但是为什么我们需要在登录处理程序中使用它呢?如果有人能给我解释一下,我感到很高兴 class LogIn(BaseHandler): def get(self): if self.session.get('user'): d

我正在尝试创建用户会话,如下所述。下面是登录页面处理程序类。一切都很好,但我无法理解“self.session.get('referer')”会做什么。我在谷歌上搜索,发现“HTTP_REFERER”指的是你所在的网站的url。但是为什么我们需要在登录处理程序中使用它呢?如果有人能给我解释一下,我感到很高兴

class LogIn(BaseHandler):
    def get(self):
        if self.session.get('user'):
            del self.session['user']
        if not self.session.get('referrer'):
            self.session['referrer'] = \
                self.request.environ['HTTP_REFERER'] \
                if 'HTTP_REFERER' in self.request.environ \
                else '/'
        template_values = {
            }
        template = jinja_environment.get_template('login.html')
        self.response.out.write(template.render(template_values))

    def post(self):
        user = self.request.get('user')
        self.session['user'] = user
        logging.info("%s just logged in" % user)
        self.redirect('/')

我想它是用来知道在登录后将用户重定向到哪里的。但是帖子重定向到了“/”,所以看起来好像没有插入,至少在这个代码段中没有。但是,如果你来自一个完全不同的网站,这是没有意义的。因此,它可能只是用于记录/跟踪目的。同样,在这个片段中没有详细介绍

我想它是用来知道在登录后将用户重定向到哪里的。但是帖子重定向到了“/”,所以看起来好像没有插入,至少在这个代码段中没有。但是,如果你来自一个完全不同的网站,这是没有意义的。因此,它可能只是用于记录/跟踪目的。同样,在这个片段中没有详细说明。我完全同意@Gwyn Howell的观点。也许将您的评论作为答案移动,以便用户可以接受?谢谢@MarCialR。完成。