【Python】【有趣的模块】【Bobo】
【python web框架之 bobo的安装配置】
【Mac】
我的Mac环境,python3.5
1. 安装bobo : >>> pip3 install bobo
2. 配置环境变量:
$: vi ~/.bash_profile
加一行:alias bobo = "地址" (我刚install完bobo后,在python3.5的bin里多了个bobo的启动文件,这个地址就是这个启动文件的地址)
退出vi
$: source ~/.bash_profile
3. 创建使用bobo的方法在某个py文件 ,文件内容
import bobo
@bobo.query('/')
def hello(person):
return 'Hello %s' % person
4. $: bobo -f py文件地址/py文件名字。
这样就启动了bobo开发服务器
5. 进入浏览器,输入:localhost:8080
6. 浏览器显示“Missing form variable person”
7. 另开一个终端输入curl -i http://localhost:8080/,打印如下
HTTP/1.0 403 Forbidden
Date: Fri, 06 Oct 2017 06:20:35 GMT
Server: WSGIServer/0.2 CPython/3.5.3
Content-Type: text/html; charset=UTF-8
Content-Length: 103
<html>
<head><title>Missing parameter</title></head>
<body>Missing form variable person</body>
</html>
8 另外开一个终端,输入:curl -i http://localhost:8080/?person=jim
终端打印:
HTTP/1.0 200 OK
Date: Fri, 06 Oct 2017 06:21:14 GMT
Server: WSGIServer/0.2 CPython/3.5.3
Content-Type: text/html; charset=UTF-8
Content-Length: 9
浏览器输入localhost:8080/?person=jim ,浏览器显示:
Hello jim
【Windows7】
1.Introduction
Bobo是一个轻量级的框架,用来创建WSGI web应用。它的目标是简单易用,容易记忆。
它强调两个方面的内容:
1)把URL映射到对象;
2)调用对象来生成HTTP响应。
Bobo 并不具备模板语言,数据库集成层或是其他一些WSGI中间件或特定应用程序库所提供的功能。Bobo建立在其他框架之上,尤其是WSGI和WebOb。
2.Installation
这里介绍一种安装方式。
下载bobo包:http://download.csdn.net/detail/mtbaby/9910792
或者官网下载:https://pypi.python.org/pypi/bobo
下载后将其解压到python的安装目录lib/site-packages下。
如我Python目录:
C:\Python27\Lib\site-packages\bobo-2.4.0
在该目录打开cmd,输入python setup.py install命令:
安装完成后,会发现生成一个.egg的文件;
3.使用示例
我们创建一个迷你的Web应用程序“Hello World”。我们会把它放在一个名为“hello.py”的文件中:
#coding:utf-8
import bobo
@bobo.query
def hello():
return "Hello world!"
这个应用程序创建一个单一的Web资源,即“html”,它只输出文本“Hello World”。
接下来访问这个服务器;
首先打开该文件所在文件夹的cmd,比如我的hello.py这个文件在
F:\eclipse-cpp-workspace\LearnPython\爬虫
那么打开此处的cmd,输入命令
bobo -f hello.py
这将启动一个Web服务器在本地主机端口8080运行。
接下来访问服务器:
打开浏览器,输入
http://localhost:8080/hello.html
会看到
Hello World
我们将通过提供一个URL路径:
#coding:utf-8
import bobo
@bobo.query('/')
def hello():
return "Hello world!"
我们用于访问应用程序的URL是由资源的函数的名称和装饰用的内容类型,默认为“text/html;charset= UTF-8”。让我们改变应用程序,这样我们就可以使用URL:
http://localhost:8080/
在这里,我们通过了一个查询装饰器的路径。我们使用了一个“/”字符串,它可以像上面的工作一样创建一个URL。(我们也省略了简洁的输入)。
我们不需要重新启动服务器来查看我们的更改。如果它改变,bobo 开发服务器自动重新加载文件。
顾名思义,查询装饰器的工作是使用返回信息的资源,可能使用表单数据。让我们修改应用程序,允许将问候者的名字作为表单数据给出:
#coding:utf-8
import bobo
@bobo.query('/')
def hello(name="World"):
return "Hello %s!"%name
如果一个函数接受命名参数,那么数据将从表单数据中提供。如果访问:
http://localhost:8080/?name=mtbaby
则输出
Hello mtbaby!
【Python】【有趣的模块】【Bobo】的更多相关文章
- 【Python】【有趣的模块】tqdm | inspect
tqdm """ [tqdm] 显示循环的进度条,再也不用担心程序跑到哪里还要跑多久了 tqdm 可以直接包裹iterable对象 from tqdm import tq ...
- Python的regex模块——更强大的正则表达式引擎
Python自带了正则表达式引擎(内置的re模块),但是不支持一些高级特性,比如下面这几个: 固化分组 Atomic grouping 占有优先量词 Possessive quantifi ...
- python之platform模块
python之platform模块 ^_^第三个模块从天而降喽!! 函数列表 platform.system() 获取操作系统类型,windows.linux等 platform.platform() ...
- python之OS模块详解
python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...
- python之sys模块详解
python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...
- 学习PYTHON之路, DAY 6 - PYTHON 基础 6 (模块)
一 安装,导入模块 安装: pip3 install 模块名称 导入: import module from module.xx.xx import xx from module.xx.xx impo ...
- linux下python调用c模块
在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明: (1)编写C代码,hel ...
- Python学习之模块进程函数详解
今天在看<Beginning Linux Programming>中的进程相关部分,讲到Linux几个进程相关的系统函数: system , exec , fork ,wait . Pyt ...
- python基础——第三方模块
python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的. 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了. 如果你正在使用Window ...
随机推荐
- hdu1181 (变形课)简单地dfs
http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=259#problem/F Description 呃......变形课上Harr ...
- Linux环境下解压rar文件
可以用unrar命令解压rar后缀的文件 unrar e test.rar 解压文件到当前目录 unrar x test.rar /path/to/extract unrar l test.rar 查 ...
- 9/24matplotlib使用入门
---恢复内容开始--- matplotlib的使用中有好几种输出风格,有matlab风格,和官方文档的as风格,各有所长,本文对比介绍官方文档中的使用风格. 我们画图的目的是要将函数以图像显示出来, ...
- 初次使用git上传代码(转)
转自 http://www.cnblogs.com/cxk1995/p/5800196.html 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我 ...
- EditPlus 5.1.2066 中文版(1月30日修正)
之前有一些网友反馈汉化版的 EditPlus 中翻页键无法正常工作.经过调查,发现是翻译工具的问题. 因此,我用新的工具重新翻译了 EditPlus.翻页键在新中文版中应该可以正常工作了. 有需要的网 ...
- Pointofix 1.7 Portable试用
Pointofix 1.7 Portable简体中文单文件便携版 软件大小:347K软件语言:简体中文软件类别:国外软件/桌面工具/教育教学运行环境:windows XP/Vista/Win7开 发 ...
- Linux命令:查看文件内容cat|tac|more|less|head|tail|nl|od
查看文件内容的命令;cat, tac, more, less, head, tail, nl, 1)cat 由第一行开始显示文档内容,一直显示到最后 2)tac 从最后一行开始显示,一直显示到第一行内 ...
- Linux基础命令---zip
zip zip是一种最通用的文件压缩方式,使用于unix.msdos.windows.OS等系统.如果在编译zip时包含bzip 2库,zip现在也支持bzip 2压缩.当将大于4GB的文件添加到存档 ...
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
- Linux中Postfix虚拟用户及虚拟域(六)
Postfix基于虚拟用户虚拟域的邮件架构 上图是一个几乎完整的邮件系统架构图,这里基于Mysql数据库进行用户认证,不管是Postfix.Dovecot.webmail都需要去Mysql数据库中进行 ...