假设我有Book ndb.Model class.
class Book(ndb.Model):
title = ndb.StringProperty(required = True)
Book 实体由此处理程序创建:
def get(self):
self.render('new-book.html')
def post(self):
title = self.request.get('title')
if title:
b = Book(title = title)
b.put()
self.redirect('/book/%s' % str(b.key.id()))
创建图书实体后,我们会被重定向到/book/[book id]
。在这个页面上,我想包含一条消息,上面写着“干得好!你已经创建了[书名]。”我怎么能这样做?
答案 0 :(得分:1)
为什么不在网址中加入您的邮件,然后使用javascript将其放在您想要的位置?
self.redirect('/book/%s?message=%s' % (str(b.key.id()), "Good job! You've created " + title)
为js做这样的事情......
alert(document.location.substring(document.location.indexOf("?message=")+9, document.location.length));
希望这有帮助!
答案 1 :(得分:0)
我只是像
那样做 main.py
或您为应用使用的其他内容:
app = webapp2.WSGIApplication([
('/book/([^/]+)?', server.BookHandler)
], debug=True)
Handlers
类似于:
def get(self):
self.render('new-book.html')
def post(self):
title = self.request.get('title')
if title:
b = Book(title = title)
b.put()
self.redirect('/book/%s/' % str(b.key.id()), abort=True)
#...more stuff
#on handler for book
def get(self, message):
#use message
self.response.out.write(message)