我正在尝试在同一个项目中同时使用pyramid_persona和pyramid_beaker。但是两者都在他们的includeme()
方法中设置了session_factory,这导致了这个错误:
pyramid.exceptions.ConfigurationConflictError: Conflicting configuration actions
For: <InterfaceClass pyramid.interfaces.ISessionFactory>
Line 173 of file /home/pyramid/project_env/local/lib/python2.7/site-packages/pyramid_beaker/__init__.py:
config.set_session_factory(session_factory)
Line 50 of file /home/pyramid/project_env/local/lib/python2.7/site-packages/pyramid_persona/__init__.py:
config.set_session_factory(session_factory)
我正在使用main()
__init__.py
方法导入这些模块,如下所示:
config.include("pyramid_persona")
config.include("pyramid_beaker")
金字塔v.1.5.1,pyramid_beaker 0.8和pyramid_persona 1.5。
有没有办法告诉Pyramid可以覆盖session_factory?
答案 0 :(得分:1)
您可以通过自己调用config.set_session_factory
来包含插件后覆盖会话工厂。或者,选择您想要的那个并在它们之间调用config.commit
。这是Pyramid conflict resolution mechanism的一部分。