pyramid.paster
¶
- bootstrap(config_uri, request=None, options=None)[源代码]¶
从由指定的PasteDeploy配置文件加载wsgi应用程序
config_uri
. 环境将被配置为当前正在服务request
,保留一个自然环境来编写可以生成URL和使用渲染器的脚本。此函数返回字典
app
,root
,closer
,request
和registry
钥匙。app
是否加载了wsgi应用程序(基于config_uri
)root
是Pyramid应用程序的遍历根资源,并且closer
是一个无参数回调,可以在脚本完成时调用(它弹出一个线程本地堆栈)。备注
大多数操作都在 Pyramid 期望在wsgi请求的上下文中调用,因此在加载应用程序以在执行脚本和其他通常在活动的wsgi请求期间不调用的代码时锚定它是很重要的。
备注
对于包含多个 Pyramid 应用程序,此函数将在上次加载的上下文中设置环境 Pyramid 应用。您可以使用较低级别的函数自己加载特定的应用程序
pyramid.paster.get_app()
和pyramid.scripting.prepare()
与pyramid.config.global_registries
.config_uri
--指定用于交互shell的PasteDeploy配置文件。格式是inifile#name
. 如果不写名字,main
将被假定。request
--指定将脚本锚定到一组给定的wsgi参数。例如,大多数人希望指定主机、方案和端口,以便他们的脚本生成与这些参数相关的URL。如果没有提供默认参数,则为您构造一个请求。您可以改变请求的environ
稍后设置特定主机/端口/方案等。options
传递给get_app用作变量分配,如'http_port':8080,然后在配置文件中使用%(http_port)。此函数可以用作上下文管理器来调用
closer
自动:with bootstrap('development.ini') as env: request = env['request'] # ...
见 写剧本 有关如何使用此函数的详细信息。
在 1.8 版本发生变更: 添加了将返回值用作上下文管理器的功能。
在 2.0 版本发生变更: 通过添加的请求完成回调
pyramid.request.Request.add_finished_callback()
将由closer
。
- get_app(config_uri, name=None, options=None)[源代码]¶
返回名为的wsgi应用程序
name
在由指定的PasteDeploy配置文件中config_uri
.options
如果传递,则应是用作变量赋值的字典,如{{'http_port': 8080}}
. 这在以下情况下很有用:%(http_port)s
在配置文件中使用。如果
name
为“无”,这将尝试从config_uri
需要格式的字符串inifile#name
. 如果找不到名称,名称将默认为“main”。