Python Pyramid 项目结构
如前所述,外层的 testproj 文件夹包含 testproj 和测试包。此外,它还有用于描述、运行和测试应用程序的其他文件。这些文件是 –
- MANIFEST.in 包含了要包含在包的源发布中的文件列表。
-
development.ini 是一个PasteDeploy配置文件,在开发过程中可以用来执行你的应用程序。
-
production.ini 是一个PasteDeploy配置文件,可以用来在生产配置中执行你的应用程序。
-
pytest.ini 是一个用于运行测试的配置文件。
-
setup.py 是标准的Setuptools setup.py文件,用于测试和发布应用程序。
-
testing.ini 是一个配置文件,用于执行应用程序的测试。
.ini “文件是Cookiecutter工具用来生成Pyramid应用程序结构的配置。这些文件使用了一个叫做PasteDeploy的系统,它是由Ian Bicking开发的。这个库是和Pyramid一起自动安装的。
虽然没有PasteDeploy的支持也可以开发Pyramid应用程序,但它提供了一种启动、调试和测试应用程序的标准化方法。
预定义设置是从配置文件(扩展名为.ini)中读取的。这些文件主要包含应用程序的配置设置、服务器设置和日志设置。
development.ini
如前所述,使用Cookiecutter构建的金字塔应用程序可以通过以下命令调用−
development.ini包含应用程序的PasteDeploy配置规范。该文件中的配置规范有不同的部分,如[app:main]、[server:main]、[loggers]等。
最重要的部分是[app:main]。它规定了应用程序的起始点。
第一个条目 “use = egg:testproj “表示Pyramid WSGI应用程序对象main的名称。它被声明在textproj包的 __init__.py 文件中(在testproj项目文件夹内)。本节包含其他启动时间的配置设置。
例如,”pyramid.includes “设置指定了要包含在运行时的包。在上面的例子中, debugtoolbar 包被包含在内,这样当点击Pyramid标志时,调试面板会被激活。我们已经在前面的章节中看到了它的功能。
我们还看到,在这个应用程序中使用的数据库的URL也已经被指定。
[server:main]部分指定了一个WSGI服务器的配置,该服务器监听TCP端口6543。它被配置为只监听localhost(127.0.0.1)。
其他各种与日志相关的部分使用Python的日志库。这些”.ini “文件部分被传递给日志模块的配置文件配置引擎。
production.ini
当应用程序以生产模式部署时,这个文件用来代替 “development.ini “为应用程序服务。这两个文件都是类似的。然而,在 “production.ini “中,调试工具栏被禁用,重新加载选项被禁用,并且关闭了调试选项。
下面是一个典型的 “production.ini “文件的精简版 —