Python CGI编写web程序-加法器

简介: CGI是运行在服务器上的程序,提供客户端HTML页面的接口,它的全称是Common Gateway Interface (通用网关接口)缺点及改进:每次的CGI请求都要生成程序的副本来运行FastCGI-先编译mod_perl-将解释器作为模块集成在web服务器中使用C等编译语言模板引擎jkxy.pyform_type="GET"和form_type="POST"对应于g


CGI是运行在服务器上的程序,提供客户端HTML页面的接口,它的全称是Common Gateway Interface (通用网关接口)


缺点及改进:

每次的CGI请求都要生成程序的副本来运行

FastCGI-先编译

mod_perl-将解释器作为模块集成在web服务器中

使用C等编译语言


模板引擎jkxy.py


form_type="GET"和form_type="POST"对应于get和post请求

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cgi, cgitb
from jkxy 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()


使用以下命令启动web服务

python -m CGIHTTPServer 8081

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1727166

目录
相关文章
|
3月前
|
弹性计算 监控 网络安全
如何轻松使用AWS Web应用程序防火墙?
AWS WAF是Web应用防火墙,可防护常见网络攻击。通过创建Web ACL并设置规则,保护CloudFront、API网关、负载均衡器等资源。支持自定义规则与OWASP预定义规则集,结合CloudWatch实现监控日志,提升应用安全性和稳定性。
|
4月前
|
人工智能 Linux 开发工具
Python从零到一:手把手带你写出第一个实用程序
Python语法简洁易懂,适合编程新手入门。它广泛应用于人工智能、自动化办公、Web开发等领域。学习Python可快速搭建项目,拥有丰富库支持和强大社区资源。通过本教程,你将掌握基础语法、环境搭建、程序逻辑控制及实战项目开发,开启编程之旅。
554 0
|
安全 JavaScript 前端开发
AppSpider 7.5.020 发布 - Web 应用程序安全测试
AppSpider 7.5.020 for Windows - Web 应用程序安全测试
101 0
|
3月前
|
存储 安全 Java
如何在 Spring Web 应用程序中使用 @SessionScope 和 @RequestScope
Spring框架中的`@SessionScope`和`@RequestScope`注解用于管理Web应用中的状态。`@SessionScope`绑定HTTP会话生命周期,适用于用户特定数据,如购物车;`@RequestScope`限定于单个请求,适合无状态、线程安全的操作,如日志记录。合理选择作用域能提升应用性能与可维护性。
179 1
|
3月前
|
设计模式 决策智能 Python
Python条件控制:让程序学会"思考"的魔法
本文深入浅出地讲解Python条件控制,从基础if语句到多分支、嵌套结构,再到简洁的三元表达式与Python 3.10新增的match-case模式匹配,结合电商折扣、会员等级、ATM系统等实战案例,全面掌握程序“智能决策”的核心逻辑。
425 0
|
6月前
|
PyTorch 算法框架/工具 C++
人工智能算法python程序运行环境安装步骤整理
本教程详细介绍Python与AI开发环境的配置步骤,涵盖软件下载、VS2017安装、Anaconda配置、PyCharm设置及组件安装等内容,适用于Windows系统,助你快速搭建开发环境。
|
6月前
|
机器学习/深度学习 前端开发 API
python3如何使用QT编写基础的对话框程序
Qt与Python结合形成了PyQt/PySide,为桌面应用开发提供强大支持。通过简单安装PyQt5或PySide6,开发者可快速搭建跨平台GUI应用。本文从创建基础对话框入手,介绍布局管理、信号与槽机制、对话框模式及样式表美化等核心功能,并探讨模态窗口、事件驱动编程和资源打包等内容。最后,引导读者探索模型视图架构、多线程处理等进阶技术,逐步掌握用Python+Qt开发高效桌面应用的技能。
209 0
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
315 102

推荐镜像

更多