python-web.py 入门介绍
内容来源:webpy.org
介绍:
1、python中web.py 是一个轻量级Python web框架,它简单而且功能强大。web.py是一个开源项目。
2、安装很简单:pip install web.py
3、URL处理
例:hello word
import web
#模糊匹配
urls = ("/.*", "hello")
app = web.application(urls, globals())
class hello:
def GET(self):
#给页面返回值(响应结果)
return 'Hello, world!'
if __name__ == "__main__":
app.run()
#测试:
请求地址:
http://localhost:8080/
请求方式GET
总结:以上是一个最简单的应用web.py的例子,介绍了一种URL处理,并且返回值直接是return 一个字符串的简单形式,下面详细进行说明web.py的强大之处:
1、URL处理支持三种形式:
urls = (
#精确匹配
'/selectDB', 'selectDb',
# 精确匹配
'/index', 'index',
# 模糊的不带组的
'/blog/\d+', 'blog',
# 带组的模糊匹配
'/(.*)', 'hello'
) 这个类名为上面的URL:'/blog/\d+', 'blog',相关联的
class blog(object):
def GET(self):
print 'GET'
query = web.input()
return query def POST(self):
print "Post"
query = web.input()
print '用户名:', query['username'], '密码:', query['password']
return query
上面的请求支持GET和POST
例:模拟POST请求:需要写一个form表单提交
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<h1>POST</h1>
<form action="/blog/123" method="post">
用户名:<input type="text" id="username" name="username" value=""/>
密 码:<input type="password" id="password" name="password" value=""/><br>
<input type="submit" value="submit" />
</form>
</body>
</html>
总结:此部分重点需要了解web.input()的使用,用于接收请求的参数(POST/GET),
2、下面再继续学习从数据库查询出结果,返回给页面的例子:
import web
import MySQLdb
print "Web.py 练习"
urls = (
'/selectDB', 'selectDb',
)
app = web.application(urls, globals())
# 响应使用模板的方式
render = web.template.render('templates')
class selectDb(object):
def GET(self):
conn = MySQLdb.connect(
host='localhost',
port=3306,
user='root',
passwd='root',
db='cf_sjjy',
charset='utf8'
)
cursor = conn.cursor()
cursor.execute("select CertId,Name from zhengxin_hit_rules")
rs = cursor.fetchall()
cursor.close()
conn.close()
print rs
return render.article(rs)
if __name__ == "__main__":
app.run()
HTML页面如下:
$def with(rs)
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数据库查询</title>
</head>
<body>
<h1>数据库查询</h1>
<ul>
$for v in rs:
<li>$v[0] => $v[1]</li>
</ul>
</body>
</html>
总结:这个例子说明了如何把结果list返回到界面展示,使用到了模板的应用,需要创建一个模板文件夹templates里面创建一个article.html
内容如上,通过return render.article(rs)给页面传值,页面最上面$def with(rs)接收值,然后通过for循环取值。
$for v in rs:
<li>$v[0] => $v[1]</li>
可以掌握到的内容:
1、web.py大体架构和概念
2、web.py的url处理机制
3、发送请求POST/GET
4、数据库操作mysql
5、模板的使用(article.html)
5、响应值传递,解析和展示处理( return render.article(rs) $def with(rs)、
$for v in rs:
<li>$v[0] => $v[1]</li>
)主要是这三个的理解。
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】python web py入门-5-请求处理(下)
前面一篇,我们演示了如何获取GET和POST请求的参数信息,这篇我们介绍如何获取请求的头部信息,这个方法我们在前面一篇文章已经给出了.直接来看一个例子,首先,我们在hello.py文件新增一个方法,用 ...
- Python Web自动化测试入门与实战,从入门到入行
Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html 天猫:https://detail.tmall.com/it ...
- Python 基于python操纵redis入门介绍
基于python操纵redis入门介绍 by:授客 QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3.3.2 基于Python操作R ...
- web.py入门
官网介绍: web.py is a web framework for Python that is as simple as it is powerful. web.py is in the pub ...
- 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安装使用
官方首页:http://webpy.org/) 它的源代码非常整洁精干,学习它一方面可以让我们快速了解python语法(遇到看不懂的语法就去google),另一方面可以学习到python高级特性的使用 ...
- python web.py实现简单的get和post请求
使用web.py框架,实现简单的get和post请求: py文件名:mytest.py import web urls = ( '/', 'hello' ) app = web.application ...
随机推荐
- Akka(5): ConsistentHashing Router - 可选定Routee的任务分配模式
上一篇讨论里我们介绍了几种任务分配(Routing)模式.Akka提供的几种现成智能化Routing模式大多数是通过对用户屏蔽具体的运算Routee选择方式来简化Router使用,提高智能程度,所以我 ...
- 向EXECL文件中导入数据的同时插入图片
因为项目需要在导出数据到EXECL文档的同时还需要导出图片进去,在处理是遇到的一些问题,在此记录一下. 首先代码写好之后放测试服务器上去执行的时候报错了,报检索 COM 类工厂中 CLSID 为 {0 ...
- Xamarin开发笔记—百度在线语音合成
语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 技术选型:语音合成初步选择有两个,一是讯飞.二是百度. 因为使用的是X ...
- 写了一个Mac快速设置、打开和关闭Web代理的Shell命令
缘由(痛点) 每次在Mac上设置Web代理,都需要点开"系统偏好设置 -- 网络 -- 高级 -- 代理",然后分别设置Web代理(HTTP)和安全Web代理(HTTPS),设置完 ...
- IntelliJ IDEA 2017.1.4 x64配置说明
只是为了研究下idea这款编译器怎么使用.开门见山,说下如何配置这款编译器,不配置也能用,但是强迫症表示不服.下面直入正题: 下载与安装就不说了,除了更改安装目录外,没啥注意的地方,建议下载idea去 ...
- Eclipse中如何显示代码行
方法一 快捷键方式: 按住 Ctrl + F10 选择 show Line Numbers 方法二 手动操作: Window -- Prefences -- General -- Editors - ...
- [BZOJ4008]亚瑟王
Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一 ...
- [编织消息框架][netty源码分析]4 eventLoop 实现类NioEventLoop职责与实现
NioEventLoop 是jdk nio多路处理实现同修复jdk nio的bug 1.NioEventLoop继承SingleThreadEventLoop 重用单线程处理 2.NioEventLo ...
- orcale设置自增列
create sequence SEQ_ERRORID minvalue 1 maxvalue 99999999 start with 1000 increment by 1 nocache orde ...
- AngularJS高级程序设计读书笔记 -- 服务篇
服务是提供在整个应用程序中所使用的任何功能的单例对象. 单例 : 只用一个对象实例会被 AngularJS 创建出来, 并被程序需要服务的各个不同部分所共享. 1. 内置服务 一些关键方法也被 Ang ...