Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在部署web2py应用程序时将图像存储在GAE python的数据存储中_Python_Image_Google App Engine_Web2py_Google Cloud Datastore - Fatal编程技术网

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

在部署web2py应用程序时将图像存储在GAE python的数据存储中,python,image,google-app-engine,web2py,google-cloud-datastore,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('co

我正在尝试在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(从google搜索,但我不知道如何使用它并连接到数据存储中定义的表)?

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

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

如果要自己创建实体,请将
image
字段定义为字符串类型,然后创建
image\u blob
字段