Python 为什么request.get()返回空字符串?
我是python和google应用程序引擎的新手。我编写了简单的代码,从表单中获取输入,然后将其显示在新页面上。但是,self.request.get()方法返回空字符串。为什么会发生这种情况?我如何解决这个问题Python 为什么request.get()返回空字符串?,python,html,google-app-engine,jinja2,webapp2,Python,Html,Google App Engine,Jinja2,Webapp2,我是python和google应用程序引擎的新手。我编写了简单的代码,从表单中获取输入,然后将其显示在新页面上。但是,self.request.get()方法返回空字符串。为什么会发生这种情况?我如何解决这个问题 import os import jinja2 import webapp2 template_dir = os.path.join(os.path.dirname(__file__), 'templates') jinja_env = jinja2.Environment(loa
import os
import jinja2
import webapp2
template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir), autoescape = True)
class NewPost(webapp2.RequestHandler):
def get(self):
self.response.out.write(jinja_env.get_template('newpost.html').render())
def post(self):
title = self.request.get('title')
body = self.request.get('body')
self.redirect('/message')
class Message(webapp2.RequestHandler):
def get(self):
title = self.request.get('title')
body = self.request.get('body')
self.response.out.write('message: ' + title + body)
app = webapp2.WSGIApplication([webapp2.Route(r'/', handler=NewPost, name='newpost'), webapp2.Route(r'/message', handler=Message, name='message')], debug = True)
newpost.html是:
<!DOCTYPE HTML>
<html>
<head>
<title> Title </title>
</head>
<body>
<form method="post">
<label>
<div>Title</div>
</label>
<input type="text" name="title" value="{{title}}">
<label>
<div>Body</div>
</label>
<textarea name="body">{{body}}</textarea>
<input type="submit">
</form>
</body>
</html>
标题
标题
身体
{{body}}
表单参数可用于POST/
请求(NewPost.POST()
),但它们不会在重定向到/message
时结转。在处理POST
时,您必须以某种方式存储表单数据(例如到数据存储),然后在重定向后从存储中检索它。作为旁注,您应该在每个get
方法和每个POST
方法中try/except
。谢谢Dan,我使用了数据存储并解决了这个问题。