云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > webpy

webpy

  • 62 次阅读
  • 3 次下载
  • 2026/4/27 11:11:01

web.py笔记

本文基于web.py cook写成。

web.py是一个非常轻量级的python web框架,使用起来非常的方便。虽然现在用python用来做网站的不是很多,但大名鼎鼎的GAE就支持python,其中就包括web.py框架,所以玩玩web.py也是很有意思的事情。

1Web.py的安装

Web.py的主页是http://webpy.org/,代码下载页面地址是http://webpy.org/download,在本页上还有着模块的安装方法,以本文的写作时间为准,代码包下载地址是

http://webpy.org/static/web.py-0.33.tar.gz,按照页面上的说明,只要把包解开,在包的目录下使用命令python setup.py install就可以自动将包安装到python中。当然,如果是在linux下也可以使用网络从软件仓库中下载安装web.py包。

2Hello World

几乎任何程序设计教材都要以Hello World作为入门程序,本文也不能免俗。

打开你的python ide(我习惯于用eclipse+pydev),当然也可以是任何一个文本编辑软件,新建一个py代码文件,写入如下代码: # -*- coding: utf-8 -*- import web

urls = (“/”, “hello”)

app = web.application(urls, globals())

class hello: def GET(self): return ?Hello, world!?

if __name__ == “__main__”: app.run()

保存,比如说叫main.py,然后在运行这个py文件,出现控制台窗口,内有http://0.0.0.0:8080/一行字,这时如果在浏览器中输入这个网址,你将看到我们刚刚建立的这个页面,当然页面很简单,只有Hello, world!这么一句话,但这就已经表明我们用web.py写的页面可以正常运行了,简单吧。

直接运行我们写的这个文件就是启动web.py内置的一个小服务器用于解析我们写的代码,这里的8080是web.py默认的端口,如果想自定义端口的话需要在运行时额外附加参数,比如如果想以80作为端口,则用命令python main.py 80。

简单介绍一下代码内容。Import web就是导入web.py包啦,urls = (“/”, “hello”)是用来指定url处理类的,具体含义和使用方法下一节讲解,app = web.application(urls, globals())表示创建一个绑定urls中指定的处理映射关系以及全局命名空间的web程序,class hello就是处理绑定到hello类的页面请求类,而GET函数就是在页面受到GET请求时要做出的反应,app.run()则是表明开始运行web.py程序,处理页面请求。

2.1Debug模式

在使用web.py内置的服务器时,程序自动处于debug模式下,在这种情况下,对模板和代码的修改可以立即反应在输出页面上,同时输出更利于调试的信息。而在正式发布到服务器上后,则默认处于非debug模式下,如果需要强制程序处于debug模式下,那么需要在代码中创建程序(app = web.application(urls, globals())命令)或模板之前使用如下命令: web.config.debug = True

2.2使用静态文件

在web.py中除了py代码文件和模板外,其他文件,比如页面中的图片、影音文件、css和js文件等,是不能直接使用的,这些文件被称为静态文件,必须集中存放在网站根目录下的static文件夹中。

比如对网址http://your.domain.name/static/logo.png的访问将发送 ./static/logo.png 给客户端。

3URL处理

Web.py提供了强大而灵活的url处理能力,也就是用户在用某url地址访问时,网站需要用那个页面代码对用户的请求作出反应。

通常对网站url的映射关系是放在一个元组对象中的,即如上节hello world代码中的urls = (“/”, “hello”)。这里表示对网站/路径的访问都由hello类来处理,也如hello world中所示,是在页面上打印出Hello, world!字样。

3.1URL匹配

url可以是具体的某一页面,如”/”仅对应网站根http://your.domain.name/,”/about”则对应http://your.domain.name/about。同时,url也可以是正则表达式,动态得对应各种url页面请求。

比如/(test1|test2)表示匹配http://your.domain.name/test1或者http://your.domain.name/test2。

如果在映射url时,使用了类似/name/(.*)这样的模式,括号中的内容可以作为参数传递给处理类的GET或POST函数。如在main.py中添加一个name类: class name: def GET(self,name): return ?Hello, %s!? % name 在url映射中修改为如下:

urls = (“/”, “hello”, “/name/(.*)”,”name”)

在用诸如http://your.domain.name/name/lisa访问网站时,就会触发name类的GET函数,并将lisa作为name参数传递给GET函数,并在返回的页面上打印Hello, lisa!。

3.2处理类结构

而对应类部分也可以包括类的包和模块名称,比如我们可以见立一个about包,包下有一个aboutme模块,模块中有一个类whoami,如下所示: class whoami: def GET(self): return ?Who am i??

在main.py中的url映射部分是:

urls = (“/”, “hello”, “/about”, “about.aboutme.whoami”)

搜索更多关于: webpy 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

web.py笔记 本文基于web.py cook写成。 web.py是一个非常轻量级的python web框架,使用起来非常的方便。虽然现在用python用来做网站的不是很多,但大名鼎鼎的GAE就支持python,其中就包括web.py框架,所以玩玩web.py也是很有意思的事情。 1Web.py的安装 Web.py的主页是http://webpy.org/,代码下载页面地址是http://webpy.org/download,在本页上还有着模块的安装方法,以本文的写作时间为准,代码包下载地址是http://webpy.org/static/web.py-0.33.tar.gz,按照页面上的说明,只要把包解开,在包的目录下使用命令python setup.py install就可以自动将包安装到python中

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com