1

我正在使用 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")

我需要在这里做什么才能让这个引用工作?

4

3 回答 3

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)
于 2013-01-15T01:15:05.200 回答
1

@dlorenc 答案的一部分有效,因为在 NewChap 上它不起作用。所以这就是我让它工作的方式:

在 NewTut 哈德勒:

self.redirect('/newchap?tutorial_id=%s' % tut.key)

在 NewChap 处理程序中,在帖子上:

tutID = self.request.get("tutorial_id")
tutorial = db.Key.from_path('Tutorial', tutID)
于 2013-01-15T17:12:49.047 回答
0

您应该重定向到'/newchap/%s' %tut.key.id()然后在请求中获取 id。

于 2013-01-14T23:35:37.007 回答