Python Pyramid 简明教程
Python Pyramid - Creating A Project Manually
Cookiecutter 工具使用预定义的项目模板自动生成项目和包结构。对于复杂项目,它在正确组织各种项目组件方面节省了大量的手动工作。
但是,可以手动构建 Pyramid 项目,而不必使用 Cookiecutter。在本节中,我们将看到如何按照以下简单步骤构建名为 Hello 的 Pyramid 项目。
setup.py
在 Pyramid 虚拟环境中创建项目目录。
md hello
cd hello
并将以下脚本另存为 setup.py
from setuptools import setup
requires = [
'pyramid',
'waitress',
]
setup(
name='hello',
install_requires=requires,
entry_points={
'paste.app_factory': [
'main = hello:main'
],
},
)
如前所述,这是一个 Setuptools 设置文件,它定义了为软件包安装依赖项的要求。
运行以下命令来安装项目并在名称 hello.egg-info. 中生成“egg”
pip3 install -e.
development.ini
Pyramid 主要使用 PasteDeploy 配置文件来指定主应用程序对象和服务器配置。我们准备在 hello 包的 egg 信息和侦听 localhost 5643 端口的 Waitress 服务器中使用应用程序对象。因此,将以下代码段另存为 development.ini 文件。
[app:main]
use = egg:hello
[server:main]
use = egg:waitress#main
listen = localhost:6543
init.py
最后,应用程序代码位于此文件中,此文件对于识别 hello 文件夹为一个包至关重要。
该代码是一个基本的 Hello World Pyramid 应用程序代码,具有 hello_world() 视图。 main() 函数将此视图注册到具有 '/' URL 模式的 hello 路由,并返回由 make_wsgi_app() 给出的 Configurator 方法的应用程序对象。
from pyramid.config import Configurator
from pyramid.response import Response
def hello_world(request):
return Response('<body><h1>Hello World!</h1></body>')
def main(global_config, **settings):
config = Configurator(settings=settings)
config.add_route('hello', '/')
config.add_view(hello_world, route_name='hello')
return config.make_wsgi_app()
最后,使用 pserve 命令提供该应用程序。
pserve development.ini --reload