我想我需要将所有安全视图callables和模板分成自给自足的包。当然我不知道怎么做,因为我没有找到任何关于在文档中制作包或模块的参考。到目前为止,我有Pyramid人建议的默认脚手架结构:
项目应用程序,项目文件夹。项目文件夹是一个包,所以我们在其中有__init__.py
文件,我们已经定义了配置,当然还有路由映射:
def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
config = Configurator(settings=settings,
root_factory='project.models.RootFactory')
config.add_subscriber('project.subscribers.add_base_template',
'pyramid.events.BeforeRender')
config.add_route('home', '/')
config.add_route('cat', '/cat/{cat_url:\w+}/')
config.add_route('cat_page', '/cat/{cat_url:\w+}/{page:\d+}/')
config.add_route('article_view', '/article/{url:\w+}/')
config.scan()
return config.make_wsgi_app()
现在假设在管理界面中我还有大约30条路线,所以我想把它们分成管理包。我认为下一步是在项目文件夹下创建 admin 文件夹。但我不知道下一步是什么。我该如何组织admin/__init__.py
文件?在哪里放置路线,最重要的是,金字塔应该如何知道这个包裹以及那里定义的路线?