pyramid.interfaces

其他接口

interface ISecurityPolicy[源代码]
authenticated_userid(request)

返回一个 userid 标识受信任且已验证的用户的字符串,或 None 如果未经验证的话。

如果结果是 None ,那么 pyramid.request.Request.is_authenticated 会回来的 False

forget(request, **kw)

返回一组适合在后续请求中“忘记”当前用户的标头。单个安全策略及其使用者可以决定 **kw

identity(request)

返回 identity 当前用户的。该对象可以是任何形状,例如简单的ID字符串或ORM对象。

permits(request, context, permission)

返回 pyramid.security.Allowed 如果允许具有给定身份的用户 permission 在当前 context ,否则将返回 pyramid.security.Denied

remember(request, userid, **kw)

返回一组适用于“记住” userid 已命名 userid 在响应中设置时。单个安全策略及其使用者可以决定 **kw

interface IAuthenticationPolicy[源代码]

表示Pyramid身份验证策略的对象。

自 2.0 版本弃用: 身份验证策略已删除,取而代之的是安全策略。看见 升级身份验证/授权 了解更多信息。

authenticated_userid(request)

返回已验证的 useridNone 如果找不到经过身份验证的用户ID。此策略方法应确保与用户相关的任何持久存储中都存在记录(用户不应被删除);如果与当前ID相关的记录在持久存储中不存在,则应返回 None .

effective_principals(request)

返回表示有效主体的序列,通常包括 userid 以及当前用户所属的任何组,始终包括“系统”组,例如 pyramid.authorization.Everyonepyramid.authorization.Authenticated

forget(request)

返回一组适合在后续请求中“忘记”当前用户的头。

remember(request, userid, **kw)

返回一组适合“记住”的标题 userid 已命名 userid 在响应中设置时。个人身份验证策略及其使用者可以决定 **kw .

unauthenticated_userid(request)

返回 未经认证的 用户标识。这种方法与 authenticated_userid 但是只允许基于请求中存在的数据返回用户ID;它不需要(也不应该)检查任何持久存储,以确保与请求用户ID相关的用户记录存在。

此方法主要用于帮助 authenticated_userid 方法从请求数据中提取凭证,提取用于对请求进行身份验证的特定头、查询字符串等。

interface IAuthorizationPolicy[源代码]

表示Pyramid授权策略的对象。

自 2.0 版本弃用: 身份验证策略已删除,取而代之的是安全策略。看见 升级身份验证/授权 了解更多信息。

permits(context, principals, permission)

返回的实例 pyramid.security.Allowed 如果有 principals 被允许 permission 在当前 context ,否则返回的实例 pyramid.security.Denied .

principals_allowed_by_permission(context, permission)

返回 permission 在里面 context . 此行为是可选的;如果选择不实现它,则应将此方法定义为引发 NotImplementedError . 只有当 pyramid.security.principals_allowed_by_permission 使用API。

interface IExceptionResponse[源代码]

延伸: pyramid.interfaces.IExceptionpyramid.interfaces.IResponse

表示wsgi响应的接口,它也是一个异常对象。使用此接口作为 context 为引发的所有异常类型应用已注册的视图 Pyramid 内部(继承自 pyramid.response.Response 包括 pyramid.httpexceptions.HTTPNotFoundpyramid.httpexceptions.HTTPForbidden

prepare(environ)

准备作为wsgi应用程序调用的响应

interface IRoute[源代码]

表示从返回的对象类型的接口 IRoutesMapper.get_route

factory

这个 root factory 用于 Pyramid 此路由匹配时的路由器(或 None

generate(kw)

基于填充模式中的动态段标记,使用 kw 提供字典。

match(path)

如果 path 传递给此函数的 pattern 对于此路由,返回一个字典(“matchdict”),其中包含表示模式中动态段标记的键,映射到从提供的 path .

如果 path 传递给此函数的 pattern 从这条路线返回 None .

name

路线名称

pattern

路线模式

predicates

一系列 route predicate 对象,用于在基本模式匹配完成后确定请求是否与此路由匹配。

pregenerator

此属性应为 None 或实现 IRoutePregenerator 界面

interface IRoutePregenerator[源代码]
__call__(request, elements, kw)

预产生器是由开发人员与 route . 路径的预产生器由 pyramid.request.Request.route_url() 为了调整用户为特殊目的传递给它的参数集,例如塔架“子域”支持。它将影响由返回的URL route_url .

一个预产生器应该返回 (elements, kw) 在检查传递给此函数的原始参数之后,这些参数是 (request, elements, kw) . 最简单的预产生器是:

def pregenerator(request, elements, kw):
    return elements, kw

你可以通过一个 pregenerator 论据 pyramid.config.Configurator.add_route() 功能。

interface ICSRFStoragePolicy[源代码]

能够验证CSRF令牌并生成新令牌的对象。

check_csrf_token(request, token)

确定是否提供 token 是有效的。大多数实现应该简单地比较 token 到当前值 get_csrf_token 但是可以使用该方法所需的任何机制来验证令牌。

返回 True 如果 token 有效,否则 False .

get_csrf_token(request)

返回跨站点请求伪造保护令牌。它将是一个与ASCII兼容的Unicode字符串。如果以前为此用户设置了令牌,则通过 new_csrf_token ,将返回该令牌。如果之前没有设置CSRF令牌, new_csrf_token 将被调用,这将创建和设置一个令牌,并且此令牌将被返回。

new_csrf_token(request)

创建并返回一个新的随机跨站点请求伪造保护令牌。令牌将是与ASCII兼容的Unicode字符串。

interface ISession[源代码]

延伸: pyramid.interfaces.IDict

表示会话的接口(Web会话对象,通常通过 request.session .

会话的键和值必须是JSON可序列化的。

警告

在……里面 Pyramid 2.0会话被更改为只需要支持可以使用JSON序列化的类型。建议将任何会话实现切换为仅支持JSON,并且仅将基元类型存储在会话中。看见 升级会话序列化 有关进行此更改的原因的详细信息,请参阅。

在 1.9 版本发生变更: 不再需要会话来实现 get_csrf_tokennew_csrf_token . CSRF令牌支持已移动到可插拔的 pyramid.interfaces.ICSRFStoragePolicy 配置Hook。

在 2.0 版本发生变更: 会话现在需要是JSON可序列化的。这比之前对可拾取对象的要求更严格。

changed()

将会话标记为已更改。会话的用户应在改变一个可变对象(即 会话的值 (在改变会话本身之后不应该需要它)。例如,如果用户在会话中的键下存储了字典 foo 他或她会的 session['foo'] = {{}}changed() 不用打电话。但是,如果随后他或她 session['foo']['a'] = 1changed() 必须调用会话机制来注意内部字典的变化。

created

表示创建时的epoch时间的整数。

flash(msg, queue='', allow_duplicate=True)

将闪存消息推送到闪存队列的末尾,该队列由 queue . 通过传递可选的 queue ,必须是字符串。如果 allow_duplicate 如果 msg 队列中已存在,将不会重新添加。

invalidate()

使会话无效。由…引起的行动 invalidate 是依赖于实现的,但它应该具有完全取消与当前请求的会话中存储的任何数据关联的效果。它可能设置响应值(例如清除cookie的值),也可能不设置。

调用后可以使用无效会话 invalidate 从而创建新会话来存储数据。这使需要全新会话的工作流成为可能,例如在更改权限级别或防止固定攻击的情况下。

new

布尔属性。如果 True ,会话是新的。

peek_flash(queue='')

查看闪存中的队列。调用此消息后,队列仍保留在闪存中。返回队列;它是由 pyramid.interfaces.ISession.flash()

pop_flash(queue='')

从闪存中弹出队列。调用此消息后,队列将从闪存中删除。返回队列;它是由 pyramid.interfaces.ISession.flash()

interface ISessionFactory[源代码]

表示工厂的接口,该工厂接受请求对象并返回ISession对象。

__call__(request)

返回ISession对象

interface IRendererInfo[源代码]

实现此接口的对象将传递给 renderer factory 作为其唯一参数的构造函数(按惯例命名 info

clone()

返回不共享任何可变状态的浅副本。

name

用户作为呈现器名称传递的值

package

找到呈现程序配置语句时的“当前包”

registry

创建渲染器时的“当前”应用程序注册表

settings

与当前应用程序相关的部署设置字典

type

渲染器类型名称

interface IRendererFactory[源代码]
__call__(info)

返回实现的对象 pyramid.interfaces.IRenderer . info 是一个实现 pyramid.interfaces.IRendererInfo .

interface IRenderer[源代码]
__call__(value, system)

使用视图的结果调用渲染器 (value )传入并返回一个结果(字符串或用作响应主体的Unicode对象)。系统计算的值由系统在 system 参数,这是一个字典。字典中的键包括: view (返回值的可调用视图), renderer_name (渲染器的模板名或简单名称), context (上下文对象传递给视图),以及 request (传递给视图的请求对象)。

interface IRequestFactory[源代码]

生成请求的实用程序

__call__(environ)

返回的实例 pyramid.request.Request

blank(path)

返回空的请求对象(请参见 pyramid.request.Request.blank()

interface IResponseFactory[源代码]

一种产生响应的实用程序。

__call__(request)

返回实现IResponse的响应对象,例如 pyramid.response.Response )它应该在什么时候处理这个案子 requestNone .

interface IRouter[源代码]

基于视图注册表将请求路由到“视图”代码的wsgi应用程序。

invoke_request(request)

调用 Pyramid 请求管道。

请求处理 有关请求管道的信息。

输出应为 pyramid.interfaces.IResponse 对象或引发的异常。

registry

此应用程序的本地组件体系结构注册表。

request_context(environ)

从wsgi环境创建新的请求上下文。

请求上下文用于在处理请求时推/弹出所需的线程局部变量。它还包含一个初始化的 pyramid.interfaces.IRequest 使用已注册的 pyramid.interfaces.IRequestFactory . 上下文可以用作上下文管理器来控制线程本地生命周期:

with router.request_context(environ) as request:
    ...

或者,上下文可以不使用 with 通过手动调用 begin()end() 方法。

ctx = router.request_context(environ)
request = ctx.begin()
try:
    ...
finally:
    ctx.end()
interface IViewMapperFactory[源代码]
__call__(self, **kw)

返回实现的对象 pyramid.interfaces.IViewMapper . kw 将是包含视图特定参数的字典,例如 permissionpredicatesattrrenderer 和其他项目。IViewMapperFactory由使用 pyramid.config.Configurator.add_view() 为希望修改潜在视图可调用调用调用调用签名和响应值的扩展开发人员提供一个插件点。

interface IViewMapper[源代码]
__call__(self, object)

提供任意对象(函数、类或实例)时,返回带有调用签名的可调用 (context, request) . 返回的可调用项本身应返回响应对象。IViewMapper由返回 pyramid.interfaces.IViewMapperFactory .

interface IDict[源代码]
__contains__(k)

返回 True 中频键 k 存在于字典中。

__delitem__(k)

从字典中删除作为渲染器全局字典传递给渲染器的项。

__getitem__(k)

返回键的值 k 从字典或如果密钥不存在则引发keyError

__iter__()

返回此字典键的迭代器

__setitem__(k, value)

在字典中设置键/值对

clear()

清除字典中的所有值

get(k, default=None)

返回键的值 k 从渲染器字典,或默认值(如果不存在此类值)。

items()

返回的列表 [(k,v)] 字典中的对

keys()

从字典返回键列表

pop(k, default=None)

从字典中弹出k键并返回其值。如果k不存在,并且提供了默认值,则返回默认值。如果k不存在且未提供默认值,则引发keyError。

popitem()

从字典中弹出带有k键的项,并将其作为两个元组(k,v)返回。如果k不存在,则引发keyError。

setdefault(k, default=None)

返回键的现有值 k 在字典里。如果没有值 k 存在于字典中,设置 default 传递到字典中的k名称下的值。如果字典中已经存在某个值,则返回该值。如果字典中不存在值,则返回默认值

update(d)

用另一个词典更新渲染器词典 d .

values()

从字典返回值列表

interface IMultiDict[源代码]

延伸: pyramid.interfaces.IDict

一种有序字典,每个键可以有多个值。一个多片式的增加了方法 getallgetonemixedextendadddict_of_lists 到普通字典接口。多层次数据结构用作 request.POSTrequest.GETrequest.params 在一个 Pyramid 应用。

add(key, value)

添加键和值,而不是覆盖任何以前的值。

dict_of_lists()

返回一个字典,其中每个键都与值列表相关联。

extend(other=None, **kwargs)

添加一组键和值,而不是覆盖任何以前的值。这个 other 结构可以是两个元组或字典的列表。如果 **kwargs 传递,它的值 will 覆盖现有值。

getall(key)

返回与键匹配的所有值的列表(可能是空列表)

getone(key)

获取一个与键匹配的值,如果找到多个值,则引发keyError。

mixed()

返回值为单个值的字典,或键/值在此字典中出现多次时的值列表。这类似于通常用于表示Web请求中变量的字典。

interface IResponse[源代码]

表示使用WebOB响应接口的wsgi响应。这个接口引用的一些属性和方法文档 RFC 2616 .

这个接口最著名的实现方式是 pyramid.response.Response 和中的HTTP异常类 pyramid.httpexceptions .

RequestClass

Alias pyramid.request.Request

__call__(environ, start_response)

WSGI 调用接口,应调用start_response回调,并应返回ITerable

accept_ranges

获取、设置和删除“接受范围”标题。有关接受范围的更多信息,请参见RFC 2616第14.5节。

age

获取、设置和删除年龄标题。使用int进行转换。有关年龄的更多信息,请参阅RFC 2616第14.6节。

allow

获取、设置和删除允许头。使用列表转换。有关允许的更多信息,请参见RFC 2616第14.7节。

app_iter

返回响应的应用程序。

如果设置了body,这将从该body(单个项目列表)创建应用程序iter。

app_iter_range(start, stop)

返回从响应应用程序构建的新应用程序,该应用程序只提供给定的开始:停止范围。

authenticated_userid

用于标识经过身份验证的用户的字符串,或者 None

body

响应的主体,作为str。如果需要,这将在整个应用程序中读取。

body_file

可用于写入正文的类似文件的对象。如果您传入了列表应用程序,该应用程序将通过写入进行修改。

cache_control

获取/设置/修改缓存控制头(RFC 2616第14.9节)

cache_expires

获取/设置缓存控件和过期头。这会将响应设置为在设置时经过的秒数内过期。

charset

获取/设置字符集(在内容类型中)

conditional_response_app(environ, start_response)

像正常人一样 __call__ 接口,但检查条件头:

  • 如果修改自(304未修改;仅在GET、HEAD上)

  • 如果不匹配(304未修改;仅在GET、HEAD上)

  • 范围(406部分内容;仅在GET、HEAD上)

content_disposition

获取、设置和删除内容处置头。有关内容处理的更多信息,请参见RFC 2616第19.5.1节。

content_encoding

获取、设置和删除内容编码头。有关内容编码的更多信息,请参见RFC 2616第14.11节。

content_language

获取、设置和删除内容语言头。使用列表转换。有关内容语言的更多信息,请参见RFC 2616第14.12节。

content_length

获取、设置和删除内容长度头。有关内容长度的更多信息,请参见RFC 2616第14.17节。使用int转换。

content_location

获取、设置和删除内容位置头。有关内容位置的更多信息,请参见RFC 2616第14.14节。

content_md5

获取、设置和删除content-md5头。有关Content-MD5的更多信息,请参见RFC 2616第14.14节。

content_range

获取、设置和删除内容范围标题。有关内容范围的更多信息,请参见第14.16节。使用ContentRange对象转换。

content_type

获取/设置内容类型头(或无),不带字符集或任何参数。如果在设置内容类型时包含参数(或;完全包含),则将删除任何现有参数;否则将保留这些参数。

content_type_params

内容类型中所有参数的字典。这不是视图,设置为“更改”,否则将不应用对dict的修改。

copy()

复制响应并返回副本。

date

获取、设置和删除日期标题。有关日期的更多信息,请参见RFC 2616第14.18节。使用HTTP日期转换。

从客户端删除cookie。请注意,路径和域必须与最初设置cookie的方式匹配。这会将cookie设置为空字符串,max_age=0,以便立即过期。

encode_content(encoding='gzip', lazy=False)

使用给定的编码对内容进行编码(仅支持gzip和标识)。

environ

获取/设置与此响应关联的请求环境(如果有)。

etag

获取、设置和删除etag头。有关ETAG的更多信息,请参见RFC 2616第14.19节。使用实体标记转换。

expires

获取、设置和删除Expires头。有关有效期的更多信息,请参见RFC 2616第14.21节。使用HTTP日期转换。

headerlist

响应头列表。

headers

类似字典的对象中的标题

identity

包含与当前请求相关的身份验证信息的对象。对象的类型和含义由配置的 security policy

is_authenticated

一个布尔值,指示请求是否具有由正在使用的安全策略确定的经过身份验证的用户。

该值由以下结果确定 pyramid.request.Request.authenticated_userid

last_modified

获取、设置和删除上次修改的头。有关上次修改的更多信息,请参见RFC 2616第14.29节。使用HTTP日期转换。

location

获取、设置和删除位置头。有关位置的更多信息,请参见RFC 2616第14.30节。

md5_etag(body=None, set_content_md5=False)

使用主体的MD5哈希(body参数或self.body,如果未给定)为响应对象生成etag。设置self.etag。如果set_content_md5为真,则也设置self.content_md5

merge_cookies(resp)

将对此响应设置的cookie与给定的resp对象(可以是任何wsgi应用程序)合并。如果resp是webob.response对象,那么其他对象将被就地修改。

pragma

获取、设置和删除pragma头。有关pragma的更多信息,请参见RFC 2616第14.32节。

request

返回与此响应关联的请求(如果有)。

retry_after

获取、设置和删除“重试后”头。有关重试后的更多信息,请参阅RFC 2616第14.37节。使用HTTP日期或增量秒进行转换。

server

获取、设置和删除服务器头。有关服务器的更多信息,请参阅RFC216第14.38节。

为响应设置(添加)cookie

status

状态字符串。

status_int

作为整数的状态

unicode_body

获取/设置正文的Unicode值(使用内容类型的字符集)

使用给定名称取消设置cookie(将其从响应中删除)。

vary

获取、设置和删除vary头。有关变化的更多信息,请参见第14.44节。使用列表转换。

www_authenticate

获取、设置和删除www-authenticate头。有关www-authenticate的更多信息,请参阅RFC 2616第14.47节。使用“parse-auth”和“serialize-auth”转换。

interface IIntrospectable[源代码]

用于配置自省的自省对象。除了下面的方法外,实现这个接口的对象还必须实现Python的所有方法 collections.MutableMapping (字典接口),并且必须是可哈希的。

__hash__()

自省必须是可散列的。一个可简介的典型实现 __hash__ 是::

return hash((self.category_name,) + (self.discriminator,))
action_info

一个IActionInfo对象,表示调用此自省创建的调用方(通常是一个sentinel,直到在self.register期间更新)

category_name

自省类别名称

discriminator

自省鉴别器(在类别内)(必须是可哈希的)

discriminator_hash

鉴别器的整数哈希

order

向内省器注册的整数顺序(通常由内省器管理)

register(introspector, action_info)

请用内省器注册此Introspectable。此方法在操作执行期间调用。向内省者添加内省及其关系。 introspector 应该是实现IIntrospector的对象。 action_info 应该是实现接口的对象 pyramid.interfaces.IActionInfo 表示注册此自省的呼叫。此方法实现的伪代码:

def register(self, introspector, action_info):
    self.action_info = action_info
    introspector.add(self)
    for methodname, category_name, discriminator in self._relations:
        method = getattr(introspector, methodname)
        method((i.category_name, i.discriminator),
               (category_name, discriminator))
relate(category_name, discriminator)

表示将此不可预测项与另一个不可预测项(与 category_namediscriminator )在行动执行期间。

title

描述此自省的文本标题

type_name

描述此自省的文本类型名称

unrelate(category_name, discriminator)

表示有意破坏此不可预测与另一个不可预测之间的关系(与 category_namediscriminator )在行动执行期间。

interface IIntrospector[源代码]
add(intr)

添加iIntrospectable intr (用)代替 pyramid.interfaces.IIntrospector.add() 当你有一个自定义的不可预测的)。替换使用相同类别/鉴别器注册的任何现有自省。

通常不直接调用此方法,而是通过 pyramid.interfaces.IIntrospector.register()

categories()

返回此自省者已知的分类名称的排序序列

categorized(sort_key=None)

获取窗体中的元组序列 [(category_name, [{{'introspectable':IIntrospectable, 'related':[sequence of related IIntrospectables]}}, ...])] 代表所有已知的自省。如果 sort_keyNone ,每个自省序列将按自省添加到自省的顺序返回。否则,sort_key应该是一个接受iIntrospectable并从中返回值的函数(所有 key python函数 sorted 可赎回的)

get(category_name, discriminator, default=None)

获取与类别名称和鉴别器(或鉴别器哈希)相关的iIntrospectable discriminator . 如果内省器中不存在,则返回 default

get_category(category_name, default=None, sort_key=None)

获取表单中的字典序列 [{{'introspectable':IIntrospectable, 'related':[sequence of related IIntrospectables]}}, ...] 其中每个自省都是与 category_name .

如果类别名为 category_name 不存在于内省器中传递的值为 default 将被退回。

如果 sort_keyNone ,序列将按将自省项添加到自省项的顺序返回。否则,sort_key应该是一个接受iIntrospectable并从中返回值的函数(ala key python函数 sorted 可赎回的)

relate(*pairs)

给定任意数量的 (category_name, discriminator) 作为位置参数传递的对,将相关的自省相互关联。必须已通过 .add.add_intr A KeyError 如果这不是真的,将会产生结果。如果任何一对已经与另一对相关联,则不会引发错误。

通常不直接调用此方法,而是通过 pyramid.interfaces.IIntrospector.register()

related(intr)

返回与IInProspectable相关的IInProspectable序列 intr . 如果不存在的关系,则返回空序列。

remove(category_name, discriminator)

删除与 category_namediscriminator 从内省者那里,建立内省者参与的任何关系。如果与类别名称和鉴别器相关的自省不存在,则此方法不会引发错误。

unrelate(*pairs)

给定任意数量的 (category_name, discriminator) 成对作为位置参数传递,相互取消关联的自省。必须已通过 .add.add_intr A KeyError 如果这不是真的,将会产生结果。如果任何一对尚未与另一对相关,则不会引发错误。

通常不直接调用此方法,而是通过 pyramid.interfaces.IIntrospector.register()

interface IActionInfo[源代码]

类,它提供与操作关联的代码内省功能。zcml使用的parserinfo类实现相同的接口。

__str__()

返回操作信息的表示形式(如果可能,包括来自文件的源代码)

file

以字符串形式调用代码的操作的文件名

line

调用代码的操作的文件(作为整数)中的起始行号。这将是 None 如果无法确定该值。

interface IAssetDescriptor[源代码]

描述一个 asset .

abspath()

返回文件系统中资产的绝对路径。

absspec()

返回此资产的绝对资产规格(例如 mypackage:templates/foo.pt

exists()

如果资产存在,则返回“真”,否则返回“假”。

isdir()

如果资产是目录,则返回true,否则返回false。

listdir()

返回目录内容的文件名的ITerable。如果资产不是目录,则引发异常。

stream()

返回用于读取资产内容的输入流。如果资产是目录或不存在,则引发异常。

interface IResourceURL[源代码]
physical_path

作为字符串的资源的物理URL路径。

physical_path_tuple

作为元组的资源的物理URL路径。(1.5新)

virtual_path

作为字符串的资源的虚拟URL路径。

virtual_path_tuple

作为元组的资源的虚拟URL路径。(1.5新)

interface ICacheBuster[源代码]

缓存buster修改URL生成机制 static_url() . 见 缓存中断 .

在 1.6 版本加入.

__call__(request, subpath, kw)

修改子路径和/或关键字参数,以便在生成URL期间从中计算Static AssetsURL。

这个 subpath argument is a path of /-delimited segments that represent the portion of the asset URL which is used to find the asset. The `` kw``参数是关键字的字典,将最终传递给 static_url() 用于生成URL。返回值应为 (subpath, kw) 在哪里? subpath 是提供文件的相对URL,并且 kw 是相同的输入参数。应该修改返回值,以便在生成的URL中包含缓存中断令牌。

这个 kw 字典包含传递给的额外参数 static_url() 以及一些可能有用的额外项目,包括:

这个 pathspecrawspec 只有当资产已装入虚拟位置时,使用 pyramid.config.Configurator.override_asset() . 例如,通过调用 request.static_url('myapp:static/foo.png'), the `` PaseScript是 ``myapp:static/foo.png 鉴于 rawspec 可能是 themepkg:bar.png ,假设呼叫 config.override_asset('myapp:static/foo.png', 'themepkg:bar.png') .

interface IViewDeriver[源代码]
__call__(view, info)

从提供的视图派生新视图。

查看选项、程序包信息和注册表位于 info ,的实例 pyramid.interfaces.IViewDeriverInfo .

这个 view 是可调用的接受 (context, request) .

options

要传递给的受支持选项列表 pyramid.config.Configurator.add_view() . 此属性是可选的。

interface IViewDeriverInfo[源代码]

实现此接口的对象将传递给 view deriver 在配置过程中。

exception_only

仅对异常调用视图

options

传递给视图的视图选项,包括未被重写的任何默认值

original_view

正在包装的原始视图对象

package

找到视图配置语句的“当前包”

predicates

视图上活动的谓词列表

registry

创建视图的“当前”应用程序注册表

settings

与当前应用程序相关的部署设置字典

interface IPredicateFactory[源代码]
__call__(value, info)

创建一个 IPredicate 实例以获取特定值。

interface IPredicateInfo[源代码]
maybe_dotted(value)

解决问题 dotted Python name dotted 添加到全局Python对象。如果 dotted 不是字符串,则在不尝试执行任何名称解析的情况下返回它。如果 dotted 是相对带点的名称(例如 .foo.bar ,考虑它相对于 package

package

在其中找到谓词配置语句的“当前包”

registry

调用谓词的“当前”应用程序注册表

settings

与当前应用程序相关的部署设置字典

interface IPredicate[源代码]
phash()

同时包含名称和值的谓词的唯一字符串。

通常,实现简单地设置 phash = text

text()

自省程序中使用的谓词的文本描述。

例如, 'content_type = application/json' 对于 ContentTypePredicate 使用一个 value == 'application/json'

interface IRoutePredicate[源代码]

扩展: pyramid.interfaces.IPredicate

__call__(info, request)

这个 info 对象是包含两个键的字典:

  • “Match”是一个参数字典,它变成 request.matchdict 如果选择了路由(所有路由谓词都匹配)。

  • “路线”是指 IRoute 正在匹配的对象。

返回 True 如果应该选择路线,或者 False 不然的话。

interface ISubscriberPredicate[源代码]

扩展: pyramid.interfaces.IPredicate

__call__(*args)

这个 args 通常只是一张 event 参数发送到 registry.notify

返回 True 如果应该针对给定参数执行订阅服务器,或者 False 不然的话。

interface IViewPredicate[源代码]

扩展: pyramid.interfaces.IPredicate

__call__(context, request)

返回 True 如果应为给定参数选择视图,或者 False 不然的话。