如何在视图中扩展配置

时间:2019-06-05 09:17:16

标签: python configuration pyramid

我有一个外部软件包,该软件包与我的金字塔项目一起安装在venv中。我想在视图中扩展配置。 client.include.my_pack具有添加路由器的功能:

def includeme(config):
    config.add_route('my_url_view', url)

此软件包应在多个项目中使用,我只想在项目中的一个地方进行连接。

我尝试连接它:

from pyramid.view import view_config
from pyramid.config import Configurator

config = Configurator()
config.include('client.include.my_pack')
config.scan()


@view_config(route_name='my_url_view', request_method='POST', renderer='json')
def home(request):
    pack = request.validated['expected']
    return pack

但是此代码引发异常:

pyramid.exceptions.ConfigurationExecutionError: <class 'pyramid.exceptions.ConfigurationError'>: No route named expected found for view registration.

如何在显示而不是__init __.py项目文件中添加路由?

1 个答案:

答案 0 :(得分:0)

例外是“未找到预期用于视图注册的命名路由”。您的示例讨论的是名为“ my_url_view”而不是“ expected”的路由。我怀疑您还有另一个视图引用了未定义的路由?我看不到您粘贴的代码有什么问题。