我的应用程序、Datastore、webapp2和表单特定的“响应”都在工作:)但是我需要加载页面而不显示以前的访问者的查询结果。我只需要查询结果对当前的表单提交者,在他们提交表单后。这是一个会话或头解决方案,还是我可以编辑GqlQuery来完成这个任务?
messages = db.GqlQuery("SELECT * "
"FROM Visitor "
"ORDER BY date DESC LIMIT 1") #obviously shows previous form submit
for message in messages:
if message.name == "" or message.mood == "":
self.response.out.write("<div class='textright'>Type name and select.</div>")
self.response.out.write("</body></html>")
elif message.mood == "bad" and message.name != "":
self.response.out.write("<body><html>")
self.response.out.write("<div class='textright'>Stay the course ^^最后一节是我的“响应”,只有在当前访问者提交表单后才需要显示。。
发布于 2012-06-19 22:40:31
我强烈建议您阅读快速入门,特别是模板部分,直到您了解它是如何工作的为止。
但是,如果您只想看到实际操作中的示例,请尝试如下(阅读更多):
class Process(webapp.RequestHandler):
def post(self):
name = self.request.get("name")
mood = self.request.get("mood")
if mood == "bad" and name != "":
self.response.out.write("<html><body>")
self.response.out.write("<h1>Welcome to the Internet!</h1>")
self.response.out.write("<p>My mood is %s and my name is %s</p>" % (mood, name))
self.response.out.write("</body></html>")
else:
self.response.out.write("<html><body>")
self.response.out.write("<h1>Welcome to the Internet anyway!</h1>")
self.response.out.write("</body></html>")此外,不要在GAE应用程序中使用print,而是使用记录器进行调试等等。
发布于 2012-06-20 05:40:25
如果要发出用于调试的值,特别是在编写<html>标记之前要发出值,请尝试
self.response.out.write("<!-- name: %s -->" % self.request.get("name"))否则,浏览器可能会感到困惑。
print从一个处理程序将永远不会达到您的期望。
在您的代码片段中,还没有显示var7和var9来自何处。
我意识到post/..put表单值自动地将用户重定向到新页面
我觉得你误会了。您还没有向我们展示您的代码在哪里执行put()或重定向。post()处理程序不会自动执行这两种操作。
你在看哪个教程?也许我们需要收紧含糊的措辞。
https://stackoverflow.com/questions/11110176
复制相似问题