【发布时间】:2009-05-30 20:48:40
【问题描述】:
我正在查看 google 提供的关于如何开始使用 python 的示例;特别是此处发布的代码; http://code.google.com/appengine/docs/python/gettingstarted/usingdatastore.html
我想了解的是,这里:
class Guestbook(webapp.RequestHandler):
def post(self):
greeting = Greeting()
if users.get_current_user():
greeting.author = users.get_current_user()
greeting.content = self.request.get('content')
greeting.put()
self.redirect('/')
他们正在保存评论,如果用户登录,我们保存用户;如果它不是空的,当我们从数据库中取出它时,我们实际上会在这里检查:
if greeting.author:
self.response.out.write('<b>%s</b> wrote:' % greeting.author.nickname())
else:
self.response.out.write('An anonymous person wrote:')
所以我想要使用 User 对象来获取信息,如下所示:
class Guestbook(webapp.RequestHandler):
def post(self):
user = users.get_current_user()
if user:
greeting = Greeting()
if users.get_current_user():
greeting.author = users.get_current_user()
greeting.content = self.request.get('content')
greeting.put()
self.redirect('/')
else:
self.redirect(users.create_login_url(self.request.uri))
所以,我想用该代码做的是将用户发送到登录 url(如果他没有登录);然后带着他在帖子中的所有内容回来并实际发布。但是发生的事情是它甚至没有达到那个动作,因为帖子中什么都没有。 我知道我可以在会话中放一些东西并在留言簿的获取操作中检查它,但我想检查是否有人可以提出更好的解决方案!
谢谢
【问题讨论】: