python paste介绍和使用教程

原创 2013年12月03日 11:01:50

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

Python Paste 学习笔记

一、写在前面这篇文章主要介绍了Python的Paste库的使用,学习过程中主要参考官网文档以及自己的理解,整理成笔记以便后续自己查阅。 如果转载,请保留作者信息。 邮箱地址:jpzhang.h...
  • u011521019
  • u011521019
  • 2016年03月15日 00:31
  • 3712

openstack基础之python WSGI,paste,Routes,webob

wsgi是在PEP333中定义的: PEP:   333 Title: Python Web Server Gateway Interface v1.0 Author: Phillip ...
  • happyAnger6
  • happyAnger6
  • 2017年01月15日 23:11
  • 2164

学习Python:WSGI_02_使用Paste库

这里我们来结合Python中的Paste库,继续进行说明。如果我们想对不同的请求路径,让不同的应用程序去处理,这该怎么办?一个常见的解决办法就是,我们可以很方便的使用Paste库来实现我们的想法。...
  • mygrus
  • mygrus
  • 2017年03月09日 16:30
  • 334

Python Paste.deploy 笔记

首先python paste是一个WSGI工具包,在WSGI的基础上包装了几层,让应用管理和实现变得方便。说实话,Python Paste的文档做的真差劲!加之python代码可读性本来就不怎么滴,真...
  • sonicatnoc
  • sonicatnoc
  • 2011年06月12日 17:36
  • 17427

详解例说Paste模块(PasteDeploy)

使用PasteDeploy定制WSGI服务 一、为什么引入Paste模块? (1)、当看到openstack的api-paste.ini中大量出现的composite、pipline、filter...
  • li_101357
  • li_101357
  • 2016年10月08日 20:47
  • 3703

python 中paste.ini文件使用说明

Python.Paste指南之Deploy http://tumblr.wachang.net/post/38130547044/python-paste-deploy-1 ...
  • q454684431
  • q454684431
  • 2013年09月01日 19:17
  • 2326

【Python Web Server】Paste多线程服务器

Paste服务器 一、安装 【1】CentOS系统下,使用 sudo pip install paste 命令进行安装 【2】Mac系统下,采用相同的方式进行安装,会报错 ...
  • u013107656
  • u013107656
  • 2016年09月05日 18:08
  • 241

openstack_ice之wsgi详解(paste从ini配置文件->routesr具体发布流程)

对Restful API有了一个基础的了解,那么我们来看通过URL是怎样映射到具体的应用程序操作函数上了。在OpenStack中的API Daemon都会有一个Router类,来构建资源与URL直接的...
  • tantexian
  • tantexian
  • 2014年07月13日 16:39
  • 9035

PCB各层的含义 (solder paste 区别)

PCB层的定义: 阻焊层:solder mask,是指板子上要上绿油的部分;因为它是负片输出,所以实际上有solder mask的部分实际效果并不上绿油,而是镀锡,呈银白色!助焊层:paste ...
  • zhanglianpin
  • zhanglianpin
  • 2015年03月10日 13:52
  • 43670

cmd命令提示符窗口中快速复制粘贴的方法

我们在Windows中使用命令提示符的时候往往要复制其中的内容是比较麻烦的,因为无法直接用鼠标进行选中,而且也没有快捷键可用,Ctrl+C、Ctrl+V键在命令提示符下是失效的,所以每次要选中命令提示...
  • dhappy
  • dhappy
  • 2014年07月17日 09:57
  • 1087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python paste介绍和使用教程
举报原因:
原因补充:

(最多只允许输入30个字)