webapp2中的post方法不能使用get中的值

时间:2014-01-29 16:18:03

标签: python http webapp2

在下面的代码中,我使用webapp2从udacity.com学习网页编程,这是练习之一。我想在这里实现的是渲染表单,用户可以在其中输入一些值,在点击提交按钮后,用户应该在表单中看到他们加密的rot13数据。

每当我点击提交按钮时我都面临这个问题我的表单结果是空白而用户数据丢失了,我在post方法中使用了pdb到self.request.get(“content”)并且转了出来是空的。

  import webapp2
  import cgi

  def escape_html(s):
    return cgi.escape(s, quote = True)


  form = """
    <!DOCTYPE html>
      <html>
      <head>
      <title>Unit 2 Rot 13</title>
      </head>
      <body>
      <h2>Enter some text to ROT13:</h2>
      <form method="post">
      <textarea name="text" style="height: 100px; width: 400px; ">
      %(content)s
      </textarea>
      <br>
      <input type="submit">
      </form>
      </body>
      </html>
      """

 class MainPage(webapp2.RequestHandler):
      def write_form(self, content = ""):
          self.response.out.write(form %{"content": escape_html(content)
                                   })
      def get(self):
          self.write_form()

      def post(self):
          content = self.request.get("content").encode("rot13")
          self.write_form(content)

  app = webapp2.WSGIApplication([('/', MainPage)],debug=True)

1 个答案:

答案 0 :(得分:1)

html公司中的字段称为文本,而不是内容。