Python Pyramid 手动创建项目
Cookiecutter实用程序使用预定义的项目模板来自动生成项目和包结构。对于复杂的项目,它可以节省大量手动工作,有效地组织各种项目组件。
然而,不必使用Cookiecutter也可以手动构建Pyramid项目。在本节中,我们将看到如何按照以下简单步骤构建一个名为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 info中使用应用程序对象,并在本地主机的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