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 ...
随机推荐
- spring.handlers、spring.schemas、spring.tooling被覆盖的三种解决方式
在用到spring时,本地IDE里面跑的很正常,但是打jar包后在集群上运行时报错. 查找资料后确定了问题的根源,由于在依赖中调用了spring的许多包,每个包都有自己的spring.schemas文 ...
- Java之枚举
1.定义 enum 是一种数据类型,与 全局常量比较相似,都是全局的并且是可以通过类名调用的 与全局常量区别 枚举功能更强大,可以有属性和方法 枚举比全局常量更加的规范 2.枚举特性 1)可以有属性以 ...
- 源码分析 Large-Margin Softmax Loss for Convolutional Neural Networks
作者在Caffe中引入了一个新层,一般情况在Caffe中引入一个新层需要修改caffe.proto,添加该层头文件*.hpp,CPU实现*.cpp,GPU实现*.cu,代码结果如下图所示: caffe ...
- pc网页到移动端怎么自动加载适应移动端的css。
1.通过link标签判断加入 以前听说过在link标签中加media = "handheld",但这个用到安卓或苹果都不管用,后来尝试以下方法,是管用的. <link hre ...
- java 1.8 动态代理源码分析
JDK8动态代理源码分析 动态代理的基本使用就不详细介绍了: 例子: class proxyed implements pro{ @Override public void text() { Syst ...
- [Leetcode] Binary search, DP--300. Longest Increasing Subsequence
Given an unsorted array of integers, find the length of longest increasing subsequence. For example, ...
- react-native学习(RN)--之Window环境下搭建环境配置
react-native以后会更火的,自从2015年facebook开源了Android 一.安装java 二.安装Android Studio 三.安装react-native需要的Android ...
- ActiveMQ 和消息简介
Apache ActiveMQ 是远程系统间进行通信的消息代理,实现了 JMS(Java Message Service,Java 消息服务).尽管 ActiveMQ 是使用 Java 写的,但是其提 ...
- 初学unslider
1.关于unslider下载 官方提供的下载页面是http://www.bootcss.com/p/unslider/,但总是进不了下载页面,所以我就查看主页的源码,找到unslider.min.js ...
- ZooKeeper数据结构
Time in ZooKeeper ZooKeeper跟踪时间的多种方式 1)Zxid:每个ZooKeeper状态变化将会接收到一个zxid(ZooKeeper Transaction Id)的时间戳 ...