从一个RequestHandler发布到另一个应用内引擎

2024-09-28 19:26:40 发布

您现在位置:Python中文网/ 问答频道 /正文

目标:使用app engine的基本webapp框架,我想创建一个新的请求,其中包含post数据,以发送给另一个RequestHandler。像pageGenerator.post({'message':'the message','datum1':datum1,...})。。。在

问题描述:一个请求处理程序,称之为pageGenerator,创建一个带有表单的页面。当用户提交表单时,帖子将转到另一个处理程序:dataProcessor。如果dataProcessor发现提交的数据有问题,它会将提交的数据和一条错误消息发送到“pageGenerator”的post方法,pageGenerator将向页面发送错误消息。在

如何像这样来回传递数据(和控制)?我希望pageGenerator能够使用self.request.get('message')获得数据。在


Tags: 数据app消息处理程序表单message目标错误
1条回答
网友
1楼 · 发布于 2024-09-28 19:26:40

听起来你太复杂了。考虑使用一个通用方法来显示可以在不同情况下调用的表单:

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)

如果您确实需要“display form”和“process form”位于不同的处理程序类中,那么可以通过在公共父类中定义show_form()来完成相同的任务。在

相关问题 更多 >