【问题标题】:Can't get Google App Engine Images API get_serving_url function to work无法使 Google App Engine Images API get_serving_url 函数工作
【发布时间】:2013-03-23 21:58:16
【问题描述】:

我是 Google App Engine 和 Python 的新手。我几乎完成了一个项目,但无法让 get_serving_url() 函数工作。按照文档,我已将所有内容简化为最基本的功能。但是我仍然从服务器收到 500 错误。有什么想法吗?代码如下:

from google.appengine.api import images

....

class Team(db.Model):
    avatar = db.BlobProperty()

    ....

    def to_dict(self):
        ....
        image_url = images.get_serving_url(self.avatar.key())

最后一行是问题...将其注释掉会使应用程序运行良好。但它几乎是直接从文档中复制而来的。我应该注意,我可以直接下载头像 blob:

class GetTeamAvatar(webapp2.RequestHandler):
def post(self):
    team_id = self.request.get('team_id')
    team = Team.get_by_id(long(team_id))
    self.response.write(team.avatar)

所以我知道它存储正确。我的机器上没有 PIL……是这个问题吗?数据存储区的图像 API 说它在本地有 PIL,所以如果我正在部署我的应用程序,它应该没关系,对吧?我有 Python 3.3,显然 PIL 停在 2.6。

【问题讨论】:

    标签: google-app-engine python-3.x python-imaging-library


    【解决方案1】:

    Python appengine 运行时间是 2.7,(OK 和 2.5)所以甚至不要尝试使用 3.x。

    其次,get_serving_URL 是您使用 BlobStore 实体键而不是 BlobProperty 调用的方法。

    你在这里混淆了两个不同的东西。

    我会先集中精力让您的代码在 2.7 下正确地在本地运行,并且 PIL 可用于 2.7。

    【讨论】:

      【解决方案2】:

      如果您尝试部署您的应用,甚至没有在本地进行测试,我会印象深刻。

      您需要做的一件事是通过 library 属性在您的 app.yaml 中提供 PIL。

      【讨论】:

        猜你喜欢
        • 2018-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-27
        • 1970-01-01
        • 2014-08-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多