webapp 处理表单

用 webapp 处理网络表单

编辑helloworld/helloworld.py

import cgi

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.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(webapp.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>')

application
= webapp.WSGIApplication([('/', MainPage),('/sign', Guestbook)], debug=True)

def main():
run_wsgi_app(application)

if __name__ == "__main__":
main()

重新加载页面以查看表单,然后尝试提交邮件。

  该版本有两个处理程序:映射到网址 /MainPage,显示网络表单。映射到网址 /signGuestbook,显示网络表单提交的数据。

Guestbook 处理程序使用 post() 方法而不是 get() 方法。这是因为 MainPage 显示的表单使用 HTTP POST 方法 (method="post") 来提交表单数据。如果由于一些原因您需要一个处理程序来处理对同一网址的 GET 和 POST 操作,您可以为相同类中的每个操作定义一种方法。

post() 方法的代码从 self.request 获取表单数据。在把它重新显示给用户之前,它会使用 cgi.escape() 来将 HTML 特殊字符转义为相应的对等字符实体。cgi 是标准 Python 库中的模块

Work for fun,Live for love!
原文地址:https://www.cnblogs.com/allenblogs/p/2017144.html