wai*_*ani 6 python google-app-engine python-2.7 webapp2
我已经完成了python27和app引擎的入门:https://developers.google.com/appengine/docs/python/gettingstartedpython27/
在tut结束时,所有类都在同一个文件(helloworld.py)中,您和您配置路由器以指向文件底部的类的URL路径:
app = webapp2.WSGIApplication([('/', MainPage),
('/sign', Guestbook)],
debug=True)
Run Code Online (Sandbox Code Playgroud)
啧啧没有涉及的是我如何在我的应用程序增长时设置我的类/文件.例如,我将MainPage放在一个单独的文件中,然后在helloworld.py文件中调用'import MainPage'并将路由添加到WSGIApplication中吗?有没有比这更自动化的东西?我该怎么称呼MainPage文件?我应该在哪里存储它?
优先在app-startup导入所有处理程序是为了利用webapp2的延迟处理程序加载,根据需要加载模块/包.
所以你有几个选择:
选项1,模块中的处理程序
放置MainPage在与文件相同级别的另一个文件(模块)中helloworld.py:
/my_gae_app
app.yaml
helloworld.py
handlers.py
在您的路由(in helloworld.py)中,您将执行以下操作:
app = webapp2.WSGIApplication([('/', 'handlers.MainPage'),
('/sign', 'handlers.Guestbook')],
debug=True)
Run Code Online (Sandbox Code Playgroud)
选项2,包装中的处理程序; 或许考虑随着您的应用变得越来越大
随着您的应用变得越来越大,您可能希望创建一个用于放置处理程序的包:
/my_gae_app
/handlers
__init__.py
guestbook.py
main.py
app.yaml
helloworld.py
路线(in helloworld.py):
app = webapp2.WSGIApplication([('/', 'handlers.main.MainPage'),
('/sign', 'handlers.guestbook.Guestbook')],
debug=True)
Run Code Online (Sandbox Code Playgroud)