0

画像の提供にブロブストアを使用するようにサイトを変換していますが、問題が発生しています。多数の画像が (jinja を介して) 動的にレンダリングされるページがあり、利用可能な唯一のデータは、関連するサービング URL を含む画像オブジェクトを指すエンティティ キーです。

以前は、各画像には の行に沿って URL があり"/show-image?key={{image_key}}"、これは次の行に沿って要求ハンドラーを指しています。

def get(self):
  imageInfo = db.get(self.request.args.get("key"))
  imagedata = imageInfo.data // the image is stored as a blob in the normal datastore
  response = Response()
  response.data = imagedata
  response.headers['Content-Type'] = imageInfo.type
  return response

私の質問は: で応答を返すのではなく、(画像オブジェクトが作成されたときに生成された)imageInfo.dataで応答を返すように、これを変更するにはどうすればよいですか。さらに重要なことに、これは良い考えですか?をデータに変換する(例: を使用する) と、そもそも高速データストアを使用する速度と効率が損なわれる可能性があります。imageInfo.saved_serving_urlget_serving_urlsaved_serving_urlurllib.fetch

ジンジャ テンプレートが各画像の提供 URL に直接アクセスできるように、コードを書き直す必要があるかもしれません。しかし、理想的には、渡さなければならない並列リストの量のために、それを避けたいと思います。

4

1 に答える 1

3

imagedata の代わりに提供 URL を返さないのはなぜですか?

<img src="/show-image?key={{image_key}}" />

def get(self):
  imageInfo = db.get(self.request.args.get("key"))
  return imageInfo.saved_serving_url
于 2012-04-13T13:07:13.977 に答える