• 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!
  • 相关阅读:
    bash 教程 shell 基础语法
    使用 Flutter 开发 Windows 桌面应用 [MD]
    小tips:使用babelupgrade从babel6升级babel7
    JS的可选链操作符(?.)与双问号(??),你用到了吗?
    JS处理html的编码(encode)与解码(decode)
    pdf A3 到 A4
    grub4dos 制作U盘启动盘
    amixer的用法
    一个tomcat设置多个端口
    PostgreSQL 配置内存参数
  • 原文地址:https://www.cnblogs.com/allenblogs/p/2017144.html
Copyright © 2020-2023  润新知