Python——Web.py詳解
ubuntu安裝Web.py
sudo pip install web.py
測試代碼:
import web urls = (
'/(.*)','hello'
)
app = web.application(urls,globals()) class hello:
def GET(self,name):
if not name:
name = 'world'
return 'hello,'+name+'!' if __name__=='__main__':
app.run()
类似于flask模板,这里也可以使用文件读写返回html内容:
import web urls = (
'/(.*)','hello'
)
app = web.application(urls,globals()) class hello:
def GET(self,name):
return open(r'index.html','r').read() if __name__=='__main__':
app.run()
URL映射:
完全匹配: /index
模糊匹配 /post/\d+
带组匹配 /post/(\d+)
import web urls = (
'/blog/\d+','blog',
'/index','index',
'/(.*)','hello',
)
app = web.application(urls,globals()) class index:
def GET(self):
return 'index' class blog:
def GET(self):
return 'blog' class hello:
def GET(self,name):
return 'hello' if __name__=='__main__':
app.run()
请求处理:
请求参数获取 : web.input()
hello.html源码:
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<title>User Login</title>
</head> <body>
<div>
<h6>User Login</h6>
</div>
<form action="/blog/123" method="POST">
<h6>用戶名:</h6>
<input type="text" name="username"><br>
<h6>密碼:</h6>
<input type="password" name="password"><br>
<input type="submit" name="submit"><br>
</form>
</body>
</html>
app.py源码:
import web urls = (
'/blog/\d+','blog',
'/index','index',
'/(.*)','hello',
)
app = web.application(urls,globals()) class index:
def GET(self):
r = web.input()
return r class blog:
def POST(self):
r = web.input()
return r class hello:
def GET(self,name):
return open(r'hello.html','r').read() if __name__=='__main__':
app.run()
运行结果:
请求头获取 : web.ctx.env
app.py代码如下,hello.html代码如上相同
import web urls = (
'/blog/\d+','blog',
'/index','index',
'/(.*)','hello',
)
app = web.application(urls,globals()) class index:
def GET(self):
return web.ctx.env class blog:
def POST(self):
r = web.input()
return r class hello:
def GET(self,name):
return open(r'hello.html','r').read() if __name__=='__main__':
app.run()
运行结果: 响应处理:
模板文件读取:render.index("参数")
在py文件同目录下要创建templates文件夹,存放模板。
index是指定模板的名称,参数是html中是所需参数。
import web render = web.template.render("templates") urls = (
'/blog/\d+','blog',
'/index','index',
'/(.*)','hello',
)
app = web.application(urls,globals()) class hello:
def GET(self,name):
return render.hello() if __name__=='__main__':
app.run()
采用模板就可以不用之前所用的open(r'hello.html','r').read()了。
结果数据获取:model.select("sql")
参考我之前的文章http://www.cnblogs.com/LexMoon/p/Flask_6.html
URL跳转 :web.seeother("/")
import web urls = (
'/(.*)','hello',
)
app = web.application(urls,globals()) class hello:
def GET(self,name):
return web.seeother('http://www.cnblogs.com/LexMoon/') if __name__=='__main__':
app.run()
Python——Web.py詳解的更多相关文章
- 【Python】【web.py】python web py入门-4-请求处理(上)
python web py入门-4-请求处理(上) 2017年09月05日 23:07:24 Anthony_tester 阅读数:2907 标签: webpy入门请求处理 更多 个人分类: Pyth ...
- python web.py安装使用
官方首页:http://webpy.org/) 它的源代码非常整洁精干,学习它一方面可以让我们快速了解python语法(遇到看不懂的语法就去google),另一方面可以学习到python高级特性的使用 ...
- mac OS X 配置Python+Web.py+MySQLdb环境
MAC默认支持Python 2.7所以不用安装. 1.安装pip sudo easy_install pip 2.安装Web.py sudo pip install Web.py 3.安装MySQLd ...
- Python Web.py
安装Web.py root@bt:~# sudo pip install web.py Downloading/unpacking web.py Downloading web.py-0.37.tar ...
- python web.py实现简单的get和post请求
使用web.py框架,实现简单的get和post请求: py文件名:mytest.py import web urls = ( '/', 'hello' ) app = web.application ...
- python web py安装与简单使用
web.py是一个轻量级的python web框架,简单而且功能强大.相对flask和Django,web.py更适合初学者来学习和了解web开发的基础知识. 安装: pip install we ...
- 【Python】【Web.py】python web py入门-5-请求处理(下)
前面一篇,我们演示了如何获取GET和POST请求的参数信息,这篇我们介绍如何获取请求的头部信息,这个方法我们在前面一篇文章已经给出了.直接来看一个例子,首先,我们在hello.py文件新增一个方法,用 ...
- python web.py操作mysql数据库,实现对数据库的增删改查操作
使用web.py框架,实现对mysql数据库的增删改查操作: 该示例代码中连接的是本地数据库testdb,user表,表结构比较简单,只有两个字段:mobile和passwd,类型均为字符型 实际应用 ...
- 树莓派上搭建基于Python+web.py+fastcgi+lighttpd的网站
最近在网上淘了一个树莓派,什么是树莓派?这里是他的官方网站你可以去看看. 简单的说就是一块使用了ARM11的CPU,具有256MB或512MB内存的具有两个USB接口,一个RJ45接口,HDMI输出和 ...
随机推荐
- 解决service层无法注入
练手时发现个问题,路径404,各种检查发现,多加了一层<context:component-scan base-package="com.yanan.controller"/ ...
- crypto在web的使用
前言 crypto 在nodejs中是一个核心模块,虽然现在高等浏览器中也有了crypto全局对象(下图),它在nodejs中的使用与web端还是不同的. web端使用cryptojs 国外下载较慢, ...
- 异常org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 11; 注释中不允许出现字符串 "--"。的原因
是由于编码格式不统一导致的. 把ecplise的workpace的编码改成utf-8
- shell第四篇(下)
摘自王垠的:Unix的缺陷 我想通过这篇文章解释一下我对 Unix 哲学本质的理解.我虽然指出 Unix 的一个设计问题,但目的并不是打击人们对 Unix 的兴趣.虽然 Unix 在基础概念上有一个挺 ...
- java根据模板导出pdf
在网上看了一些Java生成pdf文件的,写的有点乱,有的不支持写入中文字体,有的不支持模板,有的只是随便把数据放里面生成文件,完全不考虑数据怎样放置的以及以后的维护性,想想还是自己总结一个完全版的导出 ...
- linux tar 压缩解压命令
tar命令: -c 压缩-x 解压缩-t 不解压的情况下查看文件内容-r 向压缩文件追加文件-u 更新压缩文件 以上参数必须和'-f'参数连用,且'-f'必须为最后一个参数,后接文档名 -z 对应gz ...
- [DeeplearningAI笔记]ML strategy_1_2开发测试集评价指标
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.4 满足和优化指标 Stisficing and optimizing metrics 有时候把你要考 ...
- nongsanli
之后的内容只能追加,不可以修改,删除. 1. mysql可以对字段进行MD5加密, 加密插入:INSERT INTO t_user(id,username,PASSWORD) VALUES('5 ...
- python中用xpath匹配文本段落内容的技巧
content = item.xpath('//div[@class="content"]/span')[0].xpath('string(.)') content = item. ...
- 编译安装 python 2.7
下载python2.7 Python-2.7.6.tgz 下载链接:http://pan.baidu.com/s/1c0AJDDI 配置./configure 编译make 安装 make insta ...