【问题标题】:using self.request.get to query the datastore使用 self.request.get 查询数据存储
【发布时间】:2012-11-15 13:21:12
【问题描述】:

我正在尝试做类似的事情

     try:
       q = db.GqlQuery("SELECT * FROM people WHERE location = :loc", loc = location).fetch(1)
       self.render('experimentform.html', q = q)
    except:
        render('experimentform.html')
        location = self.request.get('location')

允许用户使用下拉菜单查询数据存储。

它可以渲染实验表单,但是在提交位置后我得到一个 405 错误,不允许方法发布。

感谢您的帮助。

【问题讨论】:

  • 可以添加执行上述代码sn-p的handler的代码吗?
  • 为什么您会认为 405 错误与查询数据存储区有关?很明显,你甚至没有走那么远。
  • 我没有说它与查询数据存储区有关。我的意思是,在我提交初始表单后,我收到 405 错误。

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


【解决方案1】:

您将表单作为 POST 提交,但您没有(听上去)配置了 POST 处理程序。

你在哪里

class MainPage(webapp2.RequestHandler):
    def get(self):
        do something with a get request

你也需要这个:

 class MainPage(webapp2.RequestHandler):
        def post(self):
            *do something with a post request*

或者您可以重新配置表单以使用 GET 而不是 POST 并保留您当前的代码:

<form name="input" action="website_action" method="get">

【讨论】:

  • 我知道我在做一些愚蠢的事情,谢谢。希望将来能记住其中一件事。
猜你喜欢
  • 1970-01-01
  • 2010-11-14
  • 1970-01-01
  • 2013-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-15
相关资源
最近更新 更多