zoukankan      html  css  js  c++  java
  • CGI 简单的python显示的页面

    简介

    python 进行服务器的页面的显示 cgi common gateway interface 公用网关接口

    简单操作

    1. python3 -m http.server --cgi 8001
    2. 新建一个cgi-bin目录
    3. 里面存入一个 py文件
    #!/usr/bin/env python
    #coding=utf-8 
    
    
    import cgi
    header = 'Content-Type: text/html
    
    '
    
    formhtml = '''<HTML><HEAD><TITLE>
    Friends CGI Demo</TITLE></HEAD>
    <BODY><H3>Friends list for: <I>NEW USER</I></H3>
    <FORM ACTION:"/cgi-bin/friends2.py">
    <B>Enter your Name:</B>
    <INPUT TYPE=hidden NAME=action VALUE=edit>
    <INPUT TYPE=text NAME=person VALUE="NEW USER" SIZE=15>
    <P><B>How many friends do you have?</B>
    %s
    <P><INPUT TYPE=submit></FORM></BODY></HTML>'''
    
    fradio = '<INPUT TYPE=radio NAME=howmany VALUE="%s" %s> %s
    '
    
    def showForm():
    	friends = ''
    	for i in [0, 10, 25, 50, 100]:
    		checked = ''
    		if i == 0:
    			checked = 'CHECKED'
    		friends = friends + fradio % 
    			(str(i), checked, str(i))
    
    	print header + formhtml % (friends)
    
    reshtml = '''<HTML><HEAD><TITLE>
    Friends CGI Demo</TITLE><HEAD>
    <BODY><H3>Friends list for:<I>%s</I></H3>
    Your name is: <B>%s</B><p>
    You have <B>%s</B> friends.
    </BODY></HTML>'''
    
    def doResults(who, howmany):
    	print header + reshtml %(who, who, howmany)
    
    def process():
    	form = cgi.FieldStorage()
    	if form.has_key('person'):
    		who = form['person'].value
    	else:
    		who = 'NEW USER'
    
    	if form.has_key('howmany'):
    		howmany = form['howmany'].value
    	else:
    		howmany = 0
    
    	if form.has_key('action'):
    		doResults(who, howmany)
    	else:
    		showForm()
    
    if __name__ == '__main__':
    	process()
    
    1. 访问 http://localhost:8001/cgi-bin/cgii.py

    参考链接

    百家号

    Hope is a good thing,maybe the best of things,and no good thing ever dies.----------- Andy Dufresne
  • 相关阅读:
    经典算法系列二-归并排序
    经典算法系列一-快速排序
    u-boot,linux,文件系统移植笔记1
    ARM函数调用时参数传递规则
    内核移植 nand分区
    LINUX的patch文件打patch
    idea插件使用
    socket通信同步通信,异步通信
    今天学了一个很简易的测试数据库是否连接成功
    wpf中TreeView的使用
  • 原文地址:https://www.cnblogs.com/eat-too-much/p/11478433.html
Copyright © 2011-2022 走看看