内容来源: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 入门介绍的更多相关文章

  1. 【Python】【web.py】python web py入门-4-请求处理(上)

    python web py入门-4-请求处理(上) 2017年09月05日 23:07:24 Anthony_tester 阅读数:2907 标签: webpy入门请求处理 更多 个人分类: Pyth ...

  2. 【Python】【Web.py】python web py入门-5-请求处理(下)

    前面一篇,我们演示了如何获取GET和POST请求的参数信息,这篇我们介绍如何获取请求的头部信息,这个方法我们在前面一篇文章已经给出了.直接来看一个例子,首先,我们在hello.py文件新增一个方法,用 ...

  3. Python Web自动化测试入门与实战,从入门到入行

    Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html   天猫:https://detail.tmall.com/it ...

  4. Python 基于python操纵redis入门介绍

    基于python操纵redis入门介绍 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3.3.2 基于Python操作R ...

  5. web.py入门

    官网介绍: web.py is a web framework for Python that is as simple as it is powerful. web.py is in the pub ...

  6. 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 ...

  7. Python Web.py

    安装Web.py root@bt:~# sudo pip install web.py Downloading/unpacking web.py Downloading web.py-0.37.tar ...

  8. python web.py安装使用

    官方首页:http://webpy.org/) 它的源代码非常整洁精干,学习它一方面可以让我们快速了解python语法(遇到看不懂的语法就去google),另一方面可以学习到python高级特性的使用 ...

  9. python web.py实现简单的get和post请求

    使用web.py框架,实现简单的get和post请求: py文件名:mytest.py import web urls = ( '/', 'hello' ) app = web.application ...

随机推荐

  1. spring.handlers、spring.schemas、spring.tooling被覆盖的三种解决方式

    在用到spring时,本地IDE里面跑的很正常,但是打jar包后在集群上运行时报错. 查找资料后确定了问题的根源,由于在依赖中调用了spring的许多包,每个包都有自己的spring.schemas文 ...

  2. Java之枚举

    1.定义 enum 是一种数据类型,与 全局常量比较相似,都是全局的并且是可以通过类名调用的 与全局常量区别 枚举功能更强大,可以有属性和方法 枚举比全局常量更加的规范 2.枚举特性 1)可以有属性以 ...

  3. 源码分析 Large-Margin Softmax Loss for Convolutional Neural Networks

    作者在Caffe中引入了一个新层,一般情况在Caffe中引入一个新层需要修改caffe.proto,添加该层头文件*.hpp,CPU实现*.cpp,GPU实现*.cu,代码结果如下图所示: caffe ...

  4. pc网页到移动端怎么自动加载适应移动端的css。

    1.通过link标签判断加入 以前听说过在link标签中加media = "handheld",但这个用到安卓或苹果都不管用,后来尝试以下方法,是管用的. <link hre ...

  5. java 1.8 动态代理源码分析

    JDK8动态代理源码分析 动态代理的基本使用就不详细介绍了: 例子: class proxyed implements pro{ @Override public void text() { Syst ...

  6. [Leetcode] Binary search, DP--300. Longest Increasing Subsequence

    Given an unsorted array of integers, find the length of longest increasing subsequence. For example, ...

  7. react-native学习(RN)--之Window环境下搭建环境配置

    react-native以后会更火的,自从2015年facebook开源了Android 一.安装java 二.安装Android Studio 三.安装react-native需要的Android ...

  8. ActiveMQ 和消息简介

    Apache ActiveMQ 是远程系统间进行通信的消息代理,实现了 JMS(Java Message Service,Java 消息服务).尽管 ActiveMQ 是使用 Java 写的,但是其提 ...

  9. 初学unslider

    1.关于unslider下载 官方提供的下载页面是http://www.bootcss.com/p/unslider/,但总是进不了下载页面,所以我就查看主页的源码,找到unslider.min.js ...

  10. ZooKeeper数据结构

    Time in ZooKeeper ZooKeeper跟踪时间的多种方式 1)Zxid:每个ZooKeeper状态变化将会接收到一个zxid(ZooKeeper Transaction Id)的时间戳 ...