在部署web2py应用程序时,将图像存储在GAE python的数据存储区中

时间:2015-04-09 15:41:56

标签: python image google-app-engine web2py google-cloud-datastore

我正在尝试在GAE上部署web2py应用程序。在本地运行时,使用此行

在db.py中定义phone_details表
db.define_table('phone_details',Field('image',type='upload'),Field('name',unique=True),Field('screensiz'),Field('primcam'),Field('processor'),Field('ram'),Field('rom'),Field('os'),Field('company'),Field('price','integer'))

为了让它在GAE上运行,我在云数据存储区中创建了一个实体,命名为'phone_details',但只允许使用字符串,布尔值,数字等数据类型,即不允许使用图像。那么如何在该表的列中上传图像。我是否需要使用blobstore(从谷歌搜索,但我不知道如何使用它并连接到我在数据存储区中定义的表)?

1 个答案:

答案 0 :(得分:0)

您可以改为自动为模型创建实体(您可以在创建实体的初始请求之后禁用迁移),而不是在GAE上自己定义实体,而不是在GAE上自定义实体。

您会发现在GAE上,web2py将定义与每个上传字段关联的其他blob字段。在您的情况下,它将生成一个名为image_blob的字段,其中将存储实际文件(它将文件名存储在image字段中,这只是一个字符串字段。)

如果您想自己创建实体,请将image字段定义为字符串类型,然后创建image_blob字段。