python - 从另一个页面引用实体

标签 python google-app-engine google-cloud-datastore

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

我需要在这里做什么才能使该引用正常工作?

最佳答案

您想通过 URL 将教程 id 传递到下一页。您可以将其作为获取参数或仅作为路径的一部分来执行。以下是将其作为获取参数的方法:

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

然后,在您的 NewChap 处理程序中:

tutorial_id = request.get("tutorial_id")
tutorial = db.Key.from_path('Tutorial', tutID)

关于python - 从另一个页面引用实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328727/

相关文章:

google-app-engine - Google 应用程序引擎错误 0kb AppEngine-Google

python - 如何将多维多项式与 numpy.polynomial 一起使用?

Python - 将行拆分为列 - csv 数据

python - pickle `persistent_id` 的替代品?

java - 在 GAE Java 开发服务器上没有未申请的工作的 HRD

python - 如何批量上传数据到appengine datastore?旧方法不起作用

python - 如何将python列表转换为带有序列的python字典

Python Appengine 在执行 app.yaml 之前运行某些代码

java - IntelliJ 中的 JSTL 在 JSP 中给出错误

google-app-engine - 数据存储区查询在排序结果时不返回任何数据