扩展我的应用程序-Pyramid/Pylons/Python

扩展我的应用程序-Pyramid/Pylons/Python,python,pylons,pyramid,Python,Pylons,Pyramid,关于扩展我的应用程序的简单问题 假设我有一个“主应用程序”,在这个应用程序中,_init_upy.py文件中有以下内容: config.add_route('image_upload', '/admin/image_upload/', view='mainapp.views.uploader', view_renderer='/site/upload.mako') 在views.py中,我有: def uploader(request): # some code go

关于扩展我的应用程序的简单问题

假设我有一个“主应用程序”,在这个应用程序中,_init_upy.py文件中有以下内容:

config.add_route('image_upload', '/admin/image_upload/', 
    view='mainapp.views.uploader',
    view_renderer='/site/upload.mako')
在views.py中,我有:

def uploader(request):
    # some code goes here
    return {'xyz':xyz}
现在,当我创建一个新的应用程序并希望对其进行扩展时,使用上述视图和路由:

在新的应用程序_init_uu.py文件中,我将手动复制config.add_路由代码:

config.add_route( 'image_upload', '/admin/image_upload/', 
   view='mainapp.views.uploader', 
   view_renderer='mainapp:templates/site/upload.mako'
 )
这就是我需要做的一切吗?由此,我的应用程序是否能够使用主应用程序中的视图和模板,或者我是否遗漏了其他内容


谢谢你的阅读

这样做不必复制代码。使用该方法将“主应用程序”配置包括在新应用程序中。文档对此进行了很好的解释,但本质上,如果您在可调用的

def main_app_config(config):

    config.add_route('image_upload', '/admin/image_upload/', 
    view='mainapp.views.uploader',
    view_renderer='/site/upload.mako')
然后,您可以将主应用程序包括在新应用程序的配置中,如下所示:

from my.main.app import main_app_config

# do your new application Configurator setup, etc.
# then "include" it.

config.include(main_app_config)

# continue on with your new app configuration

您是否知道如何解决以下错误:
UnboundExecutionError:找不到在mapper mapper | projects | projects、SQL表达式或此会话上配置的绑定
视图正在对表进行查询(我还希望它在新应用程序中使用DB,而不是在原始应用程序中使用DB。)@sidewinder从这个错误听起来好像你还没有为你的主应用数据库创建sqla引擎。您可以将SqlAlchemy配置为管理单独的引擎等,或者我过去所做的只是使用主应用程序的sqla配置,并在我的新应用程序中对其进行扩展。这实际上取决于你的应用程序如何相互集成。最好是创建一个新问题,在这里你可以更详细地概述你的问题。谢谢你的回复。SQLA配置从双方看来都是正常的。不过,对我来说有效的方法是在新的应用程序init.py文件中更改这一点:
来自mainapp.models import initialize\u sql
,因此我从主应用程序导入initialize\u sql。我很想知道,你以前的申请也是这样做的。