python CGI编程

CGI编程

通用网关接口

BASE

A目录下创建cgi-bin目录 和views目录
cmd 到A目录执行 python -m CGIHTTPServer 8081
nn\dd\A> python -m CGIHTTPServer 8081
Serving HTTP on 0.0.0.0 port 8081 …
浏览器输入:
http://localhost:8081/cgi-bin/1.py 便可执行1.py这个文件
1.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/6/24 0024 19:46
# @Author  : zhumin

print "Content-type:text/html \n\n"
print "Hello Web Development"

浏览器:
在这里插入图片描述

参数传递

import cgi,cgitb

form1 = cgi.FieldStorage()
name = form1.getvalue("name")

print "Content-type:text/html \n\n"
print "Hello " +name

在这里插入图片描述

综合模板

templates.py

def start_response(resp="text/html"):
   return 'Content-type: '+resp+ '\n\n'

def start_form(the_url="",form_type="GET"):
   return '<form action="'+the_url+'"method="'+form_type+'">'

def end_form(submit_msg="Submit"):
   return '<p></p><input type="submit" value="' +submit_msg+'">'

def input_label(name,placeholder="",value="",readonly=None):
   if readonly is None:
      return '<input type="text" value="'+value+'" name="'+name+'" placeholder="'+placeholder+'">'
   else:
      return '<input type="text" value="'+value+'" readonly="'+readonly+'" name="'+name+'" placeholder="'+placeholder+'">'

def context(word):
   return word

def start_div(align,style):
   return '<div align="'+align+'"style="'+style+'">'
def end_div():
   return "</div>"

def img(src):
   return '<img src="'+src+'">'

main.py:

import cgi,cgitb
from tempalates import *

form1 = cgi.FieldStorage()
num1=form1.getvalue("Num1")
num2=form1.getvalue("Num2")
num3=None
if not num1 is None and not num2 is None:
   num1=int(num1)
   num2=int(num2)
   num3=num1+num2

print start_response()
print start_div("center","margin-top:40px;")
print img("../views/add.png")
print end_div()

print start_div("center","margin-top:60px;")
print start_form()
print input_label("Num1","adder-1")
print "+"
print input_label("Num2","adder-2")
print "="
if num3 is None:
   print input_label("Num3","result","","readonly")
else:
   print input_label("Num3","result",str(num3),"readonly")
print end_form()
print end_div()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值