python paste介绍和使用教程
2013-12-03 11:01
633 查看
paste定义了一些列wsgi开发的库,
paste.deploy定义了配置wsgi应用程序的ini文件格式和对应的解析库,此外还提供了一个简单的函数(loadapp),用于从ini格式的配置文件中加载wsgi应用程序。
首先看看paste.deploy使用的ini配置文件格式。
配置文件的后缀为.ini,内容被分为好多session,一个session的session name格式为[type:name],不是这种类型的session都会被忽略。session中的内容为一个个的key = value 对,其中key和value都为string类型,并且区分大小写,可以包含标点和空白符,但是头部和尾部的空白部分将会被去掉,如果需要换行,只需下一行开始是空白字符即可。此外,注释以#开始
session有如下几种类型:
[app:name] 定义一个wsgi应用
[server:name] 定义一个wsgi的server
[composite:name]
表示会将请求重定向到其他wsgi应用
[filter:name] 定义一个过滤器,对某个wsgi应用进一步包装
[DEFAULT] 全局变量的初始值
[composite:main]
use = egg:Paste#urlmap
/ = home
/blog = blog
/wiki = wiki
/cms = config:cms.ini
这是一个composite段,表示我们将采用paste egg包中的urlmap来实现composite,根据请求的前缀分别将其路由到不同的wsgi应用进行处理。最后一行表示,将对/cms路径下的所有请求路由给另外一个配置文件,具体的处理细节再根据该cms.ini配置文件。
[app:home]
use = egg:Paste#static
document_root = %(here)s/htdocs
该段定义了一个wsgi的应用程序,也就是paste egg包中的处理静态文件的static,此外还传递了static应用需要的参数。其中%(here)s定义了一个变量,具体的值可以参考DEFAULT段。
[app:wiki]
use = call:mywiki.main:application
database = sqlite:/home/me/wiki.db
定义了一个wsgi的app,不同的是,这里采用了自定义的wsgi app。我们知道,python中一切都是对象,
[filter-app:blog]
use = egg:Authentication#auth
next = blogapp
roles = admin
htpasswd = /home/me/users.htpasswd
[app:blogapp]
use = egg:BlogApp
database = sqlite:/home/me/blog.db
filter是wsgi中的过滤器,用以将一个wgi app包装成另外一个app。filter-app表示希望对app进行包装,需要包装的app通过next指明。该session表示,再具体调用blogapp之前会首先采用Authentication egg包中的auth进行用户身份的验证。紧跟其后的[app:blogapp]给出了实际要调用的app。
http://blog.csdn.net/hzrandd/article/details/10834381
paste.deploy定义了配置wsgi应用程序的ini文件格式和对应的解析库,此外还提供了一个简单的函数(loadapp),用于从ini格式的配置文件中加载wsgi应用程序。
首先看看paste.deploy使用的ini配置文件格式。
配置文件的后缀为.ini,内容被分为好多session,一个session的session name格式为[type:name],不是这种类型的session都会被忽略。session中的内容为一个个的key = value 对,其中key和value都为string类型,并且区分大小写,可以包含标点和空白符,但是头部和尾部的空白部分将会被去掉,如果需要换行,只需下一行开始是空白字符即可。此外,注释以#开始
session有如下几种类型:
[app:name] 定义一个wsgi应用
[server:name] 定义一个wsgi的server
[composite:name]
表示会将请求重定向到其他wsgi应用
[filter:name] 定义一个过滤器,对某个wsgi应用进一步包装
[DEFAULT] 全局变量的初始值
[composite:main]
use = egg:Paste#urlmap
/ = home
/blog = blog
/wiki = wiki
/cms = config:cms.ini
这是一个composite段,表示我们将采用paste egg包中的urlmap来实现composite,根据请求的前缀分别将其路由到不同的wsgi应用进行处理。最后一行表示,将对/cms路径下的所有请求路由给另外一个配置文件,具体的处理细节再根据该cms.ini配置文件。
[app:home]
use = egg:Paste#static
document_root = %(here)s/htdocs
该段定义了一个wsgi的应用程序,也就是paste egg包中的处理静态文件的static,此外还传递了static应用需要的参数。其中%(here)s定义了一个变量,具体的值可以参考DEFAULT段。
[app:wiki]
use = call:mywiki.main:application
database = sqlite:/home/me/wiki.db
定义了一个wsgi的app,不同的是,这里采用了自定义的wsgi app。我们知道,python中一切都是对象,
[filter-app:blog]
use = egg:Authentication#auth
next = blogapp
roles = admin
htpasswd = /home/me/users.htpasswd
[app:blogapp]
use = egg:BlogApp
database = sqlite:/home/me/blog.db
filter是wsgi中的过滤器,用以将一个wgi app包装成另外一个app。filter-app表示希望对app进行包装,需要包装的app通过next指明。该session表示,再具体调用blogapp之前会首先采用Authentication egg包中的auth进行用户身份的验证。紧跟其后的[app:blogapp]给出了实际要调用的app。
http://blog.csdn.net/hzrandd/article/details/10834381
相关文章推荐
- Python开发环境Wing IDE使用教程:部分调试功能介绍
- Python开发环境Wing IDE使用教程:部分调试功能介绍
- 在Python中用split()方法分割字符串的使用介绍
- python教程20--《类初步使用》
- 使用Python标准库中的wave模块绘制乐谱的简单教程
- 在Python中使用Mako模版库的简单教程
- 使用python玩跳一跳超详细使用教程
- Python中各个模块的介绍和使用
- 使用Python程序抓取新浪在国内的所有IP的教程
- 在Python中使用sort()方法进行排序的简单教程
- 2款Python内存检测工具介绍和使用方法
- 简明 Python 教程 第1章 介绍 简介
- 在Python中使用zlib模块进行数据压缩的教程
- Python使用redis介绍
- 使用FastCGI部署Python的Django应用的教程
- python入门基础教程03 Python开发环境基本使用
- 详细介绍windows下使用python pylot进行网站压力测试
- opencv 入门教程, ubuntu安装,及python 下简单使用
- .Net程序员之Python基础教程学习----字符串的使用 [Second Day]
- python 装饰器功能以及函数参数使用介绍