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”。