目标:使用应用引擎的基本webapp框架我想创建一个带有发布数据的新请求,以发送到另一个RequestHandler。像pageGenerator.post({'message':'the message','datum1':datum1,...})
...
问题描述:一个请求处理程序,称之为pageGenerator
,创建一个带有表单的页面。当用户提交表单时,帖子会转到另一个处理程序:dataProcessor
。如果dataProcessor
发现提交的数据存在问题,它会将提交的数据和错误消息发送到'pageGenerator`的post方法,而pageGenerator将向页面提供错误消息。
如何像这样来回传递数据(和控制)?我希望pageGenerator
能够使用self.request.get('message')
获取数据。
答案 0 :(得分:3)
听起来你过于复杂。考虑只是有一个通用的方法来显示可以在不同情况下调用的表单:
class FormHandler(webapp.RequestHandler):
def get(self):
self.show_form()
def post(self):
if form_is_valid():
handle_success()
else:
self.show_form({'feedback':'Validation failed'})
def show_form(self, vals={}):
vals['field1'] = self.request.get('field1')
vals['field2'] = self.request.get('field2')
html = template.render('form.html', vals)
self.response.out.write(html)
如果您真的需要“显示表单”和“处理表单”处于不同的处理程序类中,您可以通过在公共父类中定义show_form()
来完成相同的操作。