首页
学习
活动
专区
圈层
工具
发布

Python进阶-Web 服务

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

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

  • 生成表单和结果页面

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

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

代码语言:javascript
代码运行次数:0
复制
import cgi
代码语言:javascript
代码运行次数:0
复制
header = "Content-Type: text/html\n\n"
代码语言:javascript
代码运行次数:0
复制
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>
"""
代码语言:javascript
代码运行次数:0
复制
fradio = "<INPUT TYPE=radio NAME=howmany VALUE='%s' %s> %s\n"
代码语言:javascript
代码运行次数:0
复制
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)))
代码语言:javascript
代码运行次数:0
复制
reshtml = """
<HTML>
<HEAD>
<TITLE>输出结果</TITLE>
</HEAD>
<BODY>
<H3>输出列表<I>%s</I></H3>
名字:<B>%s</B><P>
有<B>%s</B> 朋友
</BODY>
</HTML>
"""
代码语言:javascript
代码运行次数:0
复制
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()
下一篇
举报
领券