2012-07-28 63 views
2

有没有办法在Google App Engine中的多个文件中拆分url映射?Google App Engine中的Url映射多个文件中的Python

我想是这样的:

from app1.controller import App1Handler 
from app2.controller import App2Handler 

app = webapp2.WSGIApplication([(r'/app1', App1Handler),(r'/app1', App2Handler)]) 

在App1Handler,我想说明一些像这样的事情:

(r'/action1', Action1Handler), (r'/action2', Action2Handler) 

总之,当用户访问/APP1 /动作1Action1Handler必须执行。

Django有一个类似的功能,其中管理网站的URL包含在主要的url模式中。

urlpatterns = patterns('', 
    url(r'^polls/$', 'polls.views.index'), 
    url(r'^admin/', include(admin.site.urls)), 
) 

GAE有没有这样的规定?

回答

1

您可以在app.yaml中级别2档之间的分裂:

- url: /app1/.* 
    script: file1.py 
- url: /app2/.* 
    script: file2.py 

我想你仍然需要在file1.py文件添加/ APP1中的所有网址,例如

app = webapp2.WSGIApplication([(r'/app1/myview', Handler),(r'/app1/myotherview', AnotherHandler)]) 

我觉得这是更好,因为你可以在2个模块使用处理程序具有相同的名称,而你会得到一个矛盾,如果你在一个主文件导入2个处理器使用相同的名称。

+0

Thanks感谢user375348。我知道app.yaml中的重定向,但是,想知道GAE是否支持跨文件的多个url映射。无论如何,再次感谢您的回复。 – Gopal 2012-07-29 02:06:12