金字塔找不到子模块的includeme-function

时间:2019-09-07 22:34:15

标签: python pyramid

我想将路由配置正确外包给相应的模块。为此,金字塔文档指定我可以定义:

def includeme(config):
    config.add_route('foo_list', '/foo', factory='.api.foo.models.example_factory')

我的文件夹结构如下:

    /projectname/api/foo

在示例文件夹中,有以下文件:

__init__.py (with includeme()-function)
views.py
models.py

现在,我需要在应用程序初始化时包含此“ foo”模块。 这就是我定义的原因:

文件:

    /projectname/__init__.py

代码:

def main(global_config, **settings):
    config.include('.api.foo')

但是当我尝试运行应用程序时,金字塔会引发以下异常:

    ModuleNotFoundError: No module named 'projectname.api.foo.api'

(已复制并粘贴-它搜索/ api / foo / api-这是不正确的)

我没有考虑任何配置因素吗? 我尝试了以下方法:

Changing the /projectname/__init__.py code into:
    config.include('.api.foo.includeme')

这将导致相同的错误。

如果我将功能从includeme重命名为其他任何内容,它就会显示

    pyramid.exceptions.ConfigurationError: module 'projectname.api.foo' has no attribute 'includeme'

有什么建议吗?

0 个答案:

没有答案