Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 谷歌应用引擎:用户API行为异常_Python_Django_Google App Engine - Fatal编程技术网

Python 谷歌应用引擎:用户API行为异常

Python 谷歌应用引擎:用户API行为异常,python,django,google-app-engine,Python,Django,Google App Engine,我认为我使用的用户API不正确: class BaseHandler(webapp.RequestHandler): user = users.get_current_user() def header(self, title): if self.user: render('Views/link.html', self, {'text': 'Log out', 'href': users.create_logout_url('/')}) else

我认为我使用的用户API不正确:

class BaseHandler(webapp.RequestHandler):
   user = users.get_current_user()

   def header(self, title):
     if self.user:
        render('Views/link.html', self, {'text': 'Log out', 'href': users.create_logout_url('/')})
     else:
        render('Views/link.html', self, {'text': 'Log in', 'href': users.create_login_url('/')})
link.html

<p>
    <a href="{{href}}">{{text}}</a>
</p>

看起来我可以通过在函数中将实例变量引用为
self.var\u name
,但从不在类级别声明它们来获得实例变量。奇怪。

您正在存储
用户的结果。在名为
user
的变量中获取
,但是您的
if
检查
self.user
的值,该值不是同一个变量


使用相同的变量名,一切都可以

您正在存储
用户的结果。在名为
user
的变量中获取\u current\u user()
,但是您的
if
会检查
self.user
的值,该值不是同一个变量


使用相同的变量名,一切都可以

这实际上是GAE还是开发服务器?这是在我的机器上的开发服务器上运行的。您需要使用firebug或其他开发控制台来查看单击“注销”时发生的情况。它应该将您重定向到/_ah/…,它应该发送一个Set Cookie头来清除Cookie,然后将您重定向回/@stefanw,即使其中一个是在类级别声明的,另一个是在函数中声明的?如果您在类级别声明它,它将在服务器启动时设置,我猜。这实际上是一个GAE还是开发服务器?这是在我机器上的开发服务器上运行的。您需要使用firebug或其他开发控制台来查看单击“注销”时发生的情况。它应该将您重定向到/_ah/…,它应该发送一个Set Cookie头来清除Cookie,然后将您重定向回/@stefanw,即使其中一个是在类级别声明的,另一个是在函数中声明的?如果您在类级别声明它,我想它将在服务器启动时设置。抱歉,看起来我最初没有包含足够的代码<代码>自我。正在从函数中检查用户
,而
用户
存储在类级别。抱歉,看起来我最初没有包含足够的代码
self.user
是从函数内部检查的,而
user
则存储在类级别。
class BaseHandler(webapp.RequestHandler):

    def __init__(self):
        self.user = users.get_current_user()

    def header(self, title):
        if self.user:
            render('Views/message.html', self, {'msg': "Welcome, %s" % self.user.nickname()})
            render('Views/link.html', self, {'text': 'Log out', 'href': users.create_logout_url('/')})
        else:
            render('Views/link.html', self, {'text': 'Log in', 'href': users.create_login_url('/')})