さて、私は持っています:
class Content(db.Model):
code=db.TextProperty()
また、データベースには 3 つの異なる値のコードが格納されています。コードの 3 つの値をダウンロードされる 3 つの個別のファイルに格納する zip ファイルを作成するにはどうすればよいですか?
eric.fの答えに基づいて:私は彼のコードを書き直して、私がやりたいことをするようにしました:
contents = db.GqlQuery("SELECT * FROM Content ORDER BY created DESC")
output = StringIO.StringIO()
with zipfile.ZipFile(output, 'w') as myzip:
for content in contents:
if content.code:
code=content.code
else:
code=content.code2
myzip.writestr('udacity_code'+`content.key().id()`, code)
self.response.headers["Content-Type"] = "application/zip"
self.response.headers['Content-Disposition'] = "attachment; filename=test.zip"
self.response.out.write(output.getvalue())
エラーになったけど…
self.response.out.write(output.getvalue(), "utf-8")
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/StringIO.py", line 270, in getvalue
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb4 in position 10: ordinal not in range(128)