1

使用 Google App Engine 时如何将表单数据编码到 url?

下面的代码会生成一个表单,您可以在其中输入一些文本。然后文本显示在另一页上"/sign"

而不是指向/sign我想指向/sign?message="hello"

这是我的代码,来自这里:https ://developers.google.com/appengine/docs/python/gettingstartedpython27/handlingforms )

import cgi
import webapp2

from google.appengine.api import users

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.out.write("""
          <html>
            <body>
              <form action="/sign" method="post">
                <div><textarea name="content" rows="3" cols="60"></textarea></div>
                <div><input type="submit" value="Sign Guestbook"></div>
              </form>
            </body>
          </html>""")


class Guestbook(webapp2.RequestHandler):
    def post(self):
        self.response.out.write('<html><body>You wrote:<pre>')
        self.response.out.write(cgi.escape(self.request.get('content')))
        self.response.out.write('</pre></body></html>')

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

1 回答 1

1

我不确定你想达到什么目的。如果你写下你的意图,你可能会得到更可靠的建议。

为了得到结果,我认为您的描述需要使用 get 而不是 post。获取将更改网址。这是修改后的代码:

import cgi
import webapp2

from google.appengine.api import users

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.out.write("""
          <html>
            <body>
              <form action="/sign">
                <div><textarea name="content" rows="3" cols="60"></textarea></div>
                <div><input type="submit" value="Sign Guestbook"></div>
              </form>
            </body>
          </html>""")


class Guestbook(webapp2.RequestHandler):
    def get(self):
        self.response.out.write('<html><body>You wrote:<pre>')
        self.response.out.write(cgi.escape(self.request.get('content')))
        self.response.out.write('</pre></body></html>')


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

如果您想了解更多关于 webapp2 和 get 和 post 方法的信息,请查看udacity CS253

于 2012-12-16T05:51:48.097 回答