6

我已经完成了 python27 和应用引擎的入门教程:https ://developers.google.com/appengine/docs/python/gettingstartedpython27/

在 tut 结束时,所有类都在同一个文件 (helloworld.py) 中,并且您和您将路由器配置为指向文件底部的类的 url 路径:

 app = webapp2.WSGIApplication([('/', MainPage),
                           ('/sign', Guestbook)],
                          debug=True)

教程没有涵盖的是随着应用程序的增长,我如何组织我的类/文件。例如,我是否会将 MainPage 放在一个单独的文件中,然后在 helloworld.py 文件中调用“import MainPage”并将路由添加到 WSGIApplication?还有比这更自动化的吗?我应该如何调用 MainPage 文件,我应该将它存储在哪里?

4

1 回答 1

9

最好在应用程序启动时导入所有处理程序是利用webapp2 的延迟处理程序加载,它根据需要加载模块/包。
所以你有几个选择:

选项1,模块中的处理程序
放置MainPage在与您的文件相同级别的另一个文件(模块)中helloworld.py

/my_gae_app
    应用程序.yaml
    你好世界.py
    处理程序.py

在您的路由 (in helloworld.py) 中,您将执行以下操作:

app = webapp2.WSGIApplication([('/', 'handlers.MainPage'),
                               ('/sign', 'handlers.Guestbook')],
                              debug=True)

选项 2,包中的处理程序;也许考虑随着您的应用程序变大
当您的应用程序变大时,您可能希望创建一个包来放置您的处理程序:

/my_gae_app
    /处理程序
        __init__.py
        留言簿.py
        主文件
    应用程序.yaml
    你好世界.py

路线(在helloworld.py):

app = webapp2.WSGIApplication([('/', 'handlers.main.MainPage'),
                               ('/sign', 'handlers.guestbook.Guestbook')],
                              debug=True)
于 2012-06-24T23:36:50.457 回答