【问题标题】:Google App Engine: Handlers and WSGI urlsGoogle App Engine:处理程序和 WSGI url
【发布时间】:2011-03-21 02:39:42
【问题描述】:

我是 GAE 的新手,我正在使用 webapp 框架创建一个应用程序。我想知道您何时在 app.yaml 中设置处理程序以及何时在 WSGI 中定义它们?

起初我以为你只有一个 main.py 主文件运行 WSGIApplication,但我注意到如果你想使用 GAE 授权,你可以在处理程序中定义它。所以这意味着你运行多个 WSGIApplications?

我正在阅读有关“要求登录或管理员状态”的文档,似乎它们针对不同的角色有不同的应用程序。

也许是这样的?

--general.py-登录:
-- user.py - 登录:必需
-- admin.py: - 登录名: admin

但是让你的 WSGI url 散布在各处可能是不好的?

如果我没记错的话,如果你在 GAE 上运行 django,你指向一个 py 文件并让框架处理所有事情?

我还不想使用 Django,所以想知道是否有人对如何使用 webapp 进行 url/handers 有一些指示/最佳实践?

【问题讨论】:

    标签: python google-app-engine


    【解决方案1】:

    任何一种 URL 路由方法都是可以接受的。

    基于 app.yaml 的 URL 路由
    如果您可以轻松地构建应用程序以使用 app.yaml 路由(和授权),那么值得尝试:您必须调试、测试和维护的代码会更少。

    这是一个包含多个入口点的示例(来自 Google):http://google-app-engine-samples.googlecode.com/svn/trunk/gdata_feedfetcher/

    app.yaml 授权的性能应该更好:无需运行您的 Python 脚本来确定用户是否是网站的管理员。

    一个网址映射表
    如果您的应用程序需要基本 URL 路由和授权之外的其他内容,那么您可能会发现自己的 app.yaml 相对稀疏,并且使用了更大的 URL 映射表。

    例如,您希望向所有用户显示一个页面,但还希望向管理员显示一个“登录”链接。 This code (for a simple blog) 使用这种结构。

    【讨论】:

    • 感谢 Adam 示例代码总是很好。博客代码对我很有帮助。
    • 多个处理程序不会增加应用程序的加载时间吗?他们必须导入相同的模块,并且多个处理程序使用的空间不仅仅是 1 个。
    猜你喜欢
    • 2017-02-02
    • 1970-01-01
    • 2016-06-13
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 2015-05-29
    相关资源
    最近更新 更多