首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进阶-Web 服务

Python进阶-Web 服务

作者头像
小团子
发布2019-07-18 15:34:12
5580
发布2019-07-18 15:34:12
举报
文章被收录于专栏:数据云团数据云团数据云团

CGI 通用网关接口;CGI 在 Web 服务器和应用之间充当了交互作用,这样才能够处理用户表单,生成并返回最终的动态 HTML 页。

客户端输入给 Web 服务器端的表单可能包括处理过程和一些存储在后台数据库中的表单。

  • 生成表单和结果页面

showForm() 函数负责生成表单页面用于用户输入

process() 函数来获得表单数据

import cgi
header = "Content-Type: text/html\n\n"
formhtml = """
<HTML>
<HEAD><TITLE>数据云团</TITLE></HEAD>
<BODY>
<H3>云团</H3>
<FORM ACTION=''>
<B>请输入</B>
<INPUT TYPE=hidden NAME=action VALUE=edit>
<INPUT TYPE=text NAME=person VALUE='NEW USER SIZE=15'>
<P><INPUT TYPE=submit>
</FORM>
</BODY>
</HTML>
"""
fradio = "<INPUT TYPE=radio NAME=howmany VALUE='%s' %s> %s\n"
def showForm():
  friends = []
  for i in (0, 10, 25, 50, 100):
    checked = ''
    if i == 0:
      checked = "CHECKED"
    friends.append(fradio % (str(i), checked, str(i)))
reshtml = """
<HTML>
<HEAD>
<TITLE>输出结果</TITLE>
</HEAD>
<BODY>
<H3>输出列表<I>%s</I></H3>
名字:<B>%s</B><P>
有<B>%s</B> 朋友
</BODY>
</HTML>
"""
def doResults(who, howmany):
  print(header+reshtml % (who, who, howmany))

def process():
  form = cgi.FieldStorage()
  if "person" in form:
    who = form['person'].value
  else:
    who = "NEW USER"
  
  if "howmany" in form:
    howmany = form['howmany'].value
  else:
    howmany = 0
  if 'action' in form:
    deResults(who, howmany)
  else:
    showForm()

if __name__ == "__main__":
  process()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档