我正在使用Google App Engine创建一个带有表单的页面来创建一个名为“tutorial”的实体。然后,当下次点击时,用户有另一个表单,以便为之前创建的教程创建章节。我的问题是将“教程”的引用带到“章节”
新教程页面的处理程序:
class NewTut(FuHandler):
def get(self):
self.render('newTut.html')
def post(self):
title = self.request.get("title")
tags = self.request.get("tags")
tut = Tutorial(title=title, tags=tags)
tut.put()
self.redirect('/newchap' #should i put here 'tut'?#)
这部分完美无缺,但在创建章节时如何使用此tut
?
新章节页面的处理程序:
class NewChap(FuHandler):
def get(self):
self.render('newChapter.html')
def post(self):
tutorial = Tutorial(??????)
title = self.request.get("chapTitle")
content = self.request.get("content")
note = self.request.get("note")
我需要做些什么来使这个引用工作?
答案 0 :(得分:2)
您希望通过URL将教程ID传递到下一页。您可以将此作为get参数,或仅作为路径的一部分。以下是如何将其作为get参数:
self.redirect('/newchap?tutorial_id=%s' % tut.key)
然后,在你的NewChap处理程序中:
tutorial_id = request.get("tutorial_id")
tutorial = db.Key.from_path('Tutorial', tutID)
答案 1 :(得分:0)
您应该重定向到'/newchap/%s' %tut.key.id()
,然后在请求中提取ID。