Python用Bottle轻量级框架进行Web开发

当前Python Web开发中的框架算Django最为流行了,但是本文介绍的是一个较为轻量级的Web框架:Bottle框架。理论性的东西就不讲了,直接上实例代码。

1.问题描述
       最近做一个系统的后台开发,用的就是Python+Bottle进行的web后台开发。给前台提供一个接口,通过前台调用接口时的参数,提供Json数据格式的数据。

2.环境准备
我用的是Linux环境,python 2.7.x版本的python。使用Bottle之前需要pip安装bottle,输入命令:sudo pip install bottle即可安装。这样就有了Bottle的环境了,可以用Bottle框架进行Python Web开发了。

3.程序代码
3.1 一个Hello World程序
 程序文件:helloworld.py

#!/usr/bin/python
# -*- conding:utf-8 -*- 

from bottle import *                             #导入bottle相关的包 

@route('/helloworld/:yourwords', methods=['GET', 'POST'])           #url接口,注意参数书写格式,前面有个冒号表示是参数
def hello(yourwords):
  return 'hello world. ' + yourwords                  #返回前台数据,此处返回一个字符串 

run(host='0.0.0.0', port=8080)                        #表示本机,接口是8080

运行程序:python helloworld.py
打开浏览器,输入:http://172.16.160.122:8080/helloworld/BigData,你只要将ip地址改成你自己的地址就行了
就会显示如下页面:

图上红色圈出的部分就是前台输入的参数,页面显示返回的字符串内容。
这样就完成了一个简单的例子。Bottle框架是不是很轻量级。

这个程序很简单,url中yourwords是前台输入的参数,最后返回给的数据就是:hello world加上接收的参数组成的字符串。

3.2实例程序代码
本来想写一个实例的程序代码,但是有个前面hello world 的程序代码,其他的也就没什么难懂的了,就不写了。谅解。

注意的一点就是后台接受到的参数都是字符串的格式,根据你的要求,需要进行必要的类型转换。

希望对大家有所帮助,谢谢大家的阅读。

(0)

相关推荐

  • 简单的连接MySQL与Python的Bottle框架的方法

    Python关于mySQL的连接插件众多,Bottle下也有人专门开发的插件:bottle-mysql具体使用方法见官方,总共感觉其用法限制太多,其使用起来不方便,最适合的当然是,mySQL官网给Python提供的通用官方驱动,用起来很顺手:mysql-connector  具体操作如下: # -*- coding: utf-8 -*- #!/usr/bin/python # filename: login_admin.py # codedtime: 2014-9-7 11:26:11 impo

  • 简单介绍Python的轻便web框架Bottle

    基本映射 映射使用在根据不同URLs请求来产生相对应的返回内容.Bottle使用route() 修饰器来实现映射. from bottle import route, run@route('/hello')def hello(): return "Hello World!"run() # This starts the HTTP server 运行这个程序,访问http://localhost:8080/hello将会在浏览器里看到 "Hello World!".

  • 在Python的Bottle框架中使用微信API的示例

    微信这个东西估计宅男没几个不熟悉的吧,微信经过这么两年多的发展终于向开放平台跨出了友好的一步.蛋疼的以为微信会出一个详细的api等接口,兴奋不已的去申请了微信公共平台,然后开始找各种api的位置-- 花费了近一个小时,依然没找到-- 最后动用Google大杀器,终于找到了这么个链接.我了个去的,没比这还简单的api文档了吧. 最让人无法理解的是:居然没有本地开发环境支持,每次都要放在生产环境去调试. 最让人欣慰的是:就那么俩方法,生产环境调试几次也就完事了. Python(bottle)版代码如

  • 使用Python的Bottle框架写一个简单的服务接口的示例

    是不是有这么一个场景,对外提供一堆数据或者是要返回给用户一个结果.但是不想把内部的一些数据和逻辑暴露给对方...简单点来说,就是想以服务的方式对外提供一个接口.对于这种有很多处理方式,RPC,搭建一个web服务啥的....但是这些毕竟都太重量级了,操作起来很麻烦.我这里给出的一种非常easy的方式来处理.使用bottle解决问题. 需求: 检查一个zookeeper服务中的某些节点是否存在,如果存在返回OK,不存在则给出不存的节点信息.要求返回的信息是和pyunit的结果信息一致. 实现环境:

  • python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)

    测了一下django.flask.bottle.tornado 框架本身最简单的性能.对django的性能完全无语了. django.flask.bottle 均使用gunicorn+gevent启动,单进程,并且关闭DEBUG,请求均只返回一个字符串ok. tornado直接自己启动,其他内容一致. 测试软件为 siege,测试os为cenos6 64位,测试命令为: 复制代码 代码如下: siege -c 100 -r 100 -b http://127.0.0.1:5000/ django

  • Python的Bottle框架基本知识总结

    基本映射 映射使用在根据不同URLs请求来产生相对应的返回内容.Bottle使用route() 修饰器来实现映射. from bottle import route, run @route('/hello') def hello(): return "Hello World!" run() # This starts the HTTP server 运行这个程序,访问http://localhost:8080/hello将会在浏览器里看到 "Hello World!"

  • Python的Bottle框架中获取制定cookie的教程

    这两天为用bottle+mongodb写的一个项目加上登录功能,无奈怎么都获取不到保存的cookie,文档给出让我们这样操作cookie的代码片段: @route('/login') def login (): username = request .forms .get('username ') password = request .forms .get('password ') if check_user_credentials(username, password): response

  • Python的Bottle框架中实现最基本的get和post的方法的教程

    1.GET方式: # -*- coding: utf-8 -*- #!/usr/bin/python # filename: GETPOST_test.py # codedtime: 2014-9-20 19:07:04 import bottle def check_login(username, password): if username == '123' and password == '234': return True else: return False @bottle.route

  • 利用Python的装饰器解决Bottle框架中用户验证问题

    首先来分析下需求,web程序后台需要认证,后台页面包含多个页面,最普通的方法就是为每个url添加认证,但是这样就需要每个每个绑定url的后台函数都需要添加类似或者相同的代码,但是这样做代码就过度冗余,而且不利于扩展. 接下来我们先不谈及装饰器,我们都知道Python是个很强大的语言,她可以将函数当做参数传递给函数,最简单的: def p(): print 'Hello,world' def funcfactor(func): print 'calling function named', fun

  • Python的Bottle框架中返回静态文件和JSON对象的方法

    代码如下: # -*- coding: utf-8 -*- #!/usr/bin/python # filename: todo.py # codedtime: 2014-8-28 20:50:44 import sqlite3 import bottle @bottle.route('/help3') def help(): return bottle.static_file('help.html', root='.') #静态文件 @bottle.route('/json:json#[0-9

随机推荐