python之web开发(待续)

WSGI接口

无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。

HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。

其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。

#hello.py

def application(environ, start_response):
    start_response(‘200 OK‘, [(‘Content-Type‘, ‘text/html‘)])
    return ‘<h1>Hello, web!<h1>‘
#server.py

from wsgiref.simple_server import make_server
from hello import application

httpd = make_server(‘‘, 8000, application)
print ‘Serving Http on port 8000‘
httpd.serve_forever()

python cgi模块

A CGI script is invoked by an HTTP server, usually to process user input submitted through an HTML <FORM> or <ISINDEX> element.

往往用 FieldStorage 去处理表单数据,且FieldStorage的实例就像字典一样处理。

但如果表单中提交的数据为空, 那么那个数据将不会在FieldStorage中显示, 但可以通过设置keep_blank_values=True使其显示

ps:

If the submitted form data contains more than one field with the same name, the object retrieved by form[key] is not a FieldStorage or MiniFieldStorage instance but a list of such instances.

If a field represents an uploaded file, accessing the value via the value attribute or the getvalue() method reads the entire file in memory as a string. This may not be what you want. You can test for an uploaded file by testing either the filename attribute or the file attribute. You can then read the data at leisure from the file attribute.

#form数据在self._environ[‘wsgi.input‘]中, request的数据在self._environ中
form = cgi.FieldStorage(fp=self._environ[‘wsgi.input‘], environ=self._environ, keep_blank_values=True)
normal = form[key].value
if isinstance(form[key], list):

fileitem = form[key]
if fileitem.filename:
    # It‘s an uploaded file; count lines
    linecount = 0
    while 1:
        line = fileitem.file.readline()
        if not line: break
        linecount = linecount + 1
时间: 2024-10-18 13:26:53

python之web开发(待续)的相关文章

Python做web开发,推荐几个能立马上手的小项目

Python这门优美的语言是非常适合web开发的,基于Python的Django框架简单便捷且很强大. 那么作为新手该如何上手这门语言?一切不敲代码的学编程手段都是扯淡,今天就推荐一些适合新手练手的Python项目 1.Python开发小型搜图引擎 部分思路及代码如下 运行效果如下: 连接数据库 项目整体运行效果 在开发过程中,需要涉及一些数据结构的知识,使用文本界面的屏幕绘图库 ncurses用字符绘图,以及一些 Linux 的系统调用. ●学习过程中你能学会: 1. python web开发

[python] python django web 开发 —— 15分钟送到会用(只能送你到这了)

1.安装python环境 1.1 安装python包管理器: wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py ? 1.2 安装python虚拟环境virtualenv virtualenvwrapper 首先说明下为什么要装这两个包: First, it's important to understand that a virtual environment is a special tool used to ke

Django模型学习 --python的web开发

django是一个比较老牌而且功能也很强大的框架,虽然它有很多缺点,但还是决定先从这个框架入手学习.本系列是一个简单的学习笔记,供以后参考. 网站的后台原来是用PHP的CodeIgniter框架写的,数据库只有4个表,涉及最基本的产品的增删查改和切图等操作.现在换用django后,所有后台包括模板都得重写.虽然看起来工作量很大,但实际做起来也就花三天学了下django,然后再用三天把所有后台重写(不包括部署到蛋疼的SAE的繁琐过程),可见django的开发效率是如此之高. 1. 引言 1.1 简

python的web开发环境Django配置

我的系统的windows10: 第一步,安装python3.5 第二步,配置django,如图所示,在python的安装目录下的Scripts里面执行:pip install Django,我这儿提示更新,我就更新了. 第三步,安装一个跨平台的python编辑器:pyCharm.这个在官网下载,按照提示步骤安装就ok. 在网上看到了一个demo,搭建好环境之后,大家可以试着做一下.demo(django快速搭建blog入门)地址:http://www.testpub.cn/blog/

python部署web开发环境

#pip install uwsgi error: need a c compiler so: #yum install -y gcc gcc-c++ error: no python.h so: #sudo yum install python-devel http://stackoverflow.com/questions/21530577/fatal-error-python-h-no-such-file-or-directory

《Python Web开发与接口测试》

为什么学习本书: 是否想学习Python web开发而找不到很好的入门教程. 是否很想知道当你点击一个按钮后,程序到底经过哪些过程把你想要的页面展现在你面前. 是否想告诉别人,不就是开发嘛,我也会. 是否想知道接口到底是什么,它是如何被开发出来的,我们又如何对它进行测试? 为什么是Django? 我们总是很难去决定一件事情.比如,我到底该学Java 呢还是C# 呢? 到底测试的工资高还是开发的高?我学习了Python之后,想学习web开发,是Django 还是Flask 好学.强大和灵活? 搞J

哪个python web开发视频最好?

?程序员说:Python web框架尤为重要!python的web框架实在是太多了,但它们也各有各的优势.那么,哪个python web开发视频最好?如果你还没找到,不妨看看这个. python课程web知识点:http://pan.baidu.com/s/1jIMdU2i Python流行的主要原因是代码的优雅,特别是简洁和可读性.当谈到Web开发的时候会想到是什么使Python成为越来越多的开发人员的核心语言?与PHP不同,它不是为web而设计的,并且Python中没有集成核心Web功能.

10个用于Web开发的最好 Python 框架

Python 是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器.其它方面,Python拥有足够多的免费数据函数库.免费的Web网页模板系统.还有与Web服务 器进行交互的库.这些都可以设计到你的Web应用程序里面.在这篇文章里,我们将为Python Web开发者介绍基于Python的10大Web应用框架. CubicWeb CubicWeb的最重要的

Python Web 开发的十个框架【转载】

Python 是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器. 其它方面,Python拥有足够多的免费数据函数库.免费的Web网页模板系统.还有与Web服务 器进行交互的库.这些都可以设计到你的Web应用程序里面. 这篇文章列举了十个Python Web应用开发框架,不过因为Django似乎人尽皆知的样子,没有列在文中.. CubicWeb Cub