Google App Engine は初めてです。GAE ではファイル (一時ファイルを含む) を書き込むことができないため、初めて使用したときは驚きました。
私の Python アプリケーション (ボトルに基づく、http://bottlepy.org/ ) は、いくつかの静的ファイルをいくつかの異なるディレクトリから単一の構造を持つ単一のディレクトリにコピーする必要があります。テンプレート パスとして単一のディレクトリをプログラムで作成する必要があります。
これが私のケースです:
元のディレクトリ構造:
/app
|_ /views
|-- base.tpl
|-- /app_1
| |-- /models (this directory contains several files, we don't need to care of it)
| |-- /views
| |-- index_1.tpl
|
|-- /app_2
|-- /views
|-- index_2.tpl
ディレクトリを作成する必要があります。たとえば.runtime/views/
、これらの元のファイルをこの構造にコピーします。
/.runtime
|_ /views
|-- base.tpl
|-- /app_1
| |-- index_1.tpl
|
|-- /app_2
|-- index_2.tpl
次に、TEMPLATE_PATH
変数をに割り当てます.runtime/views
TEMPLATE_PATH = '.runtime/views'
通常、この方法はうまく機能しますが、GAE にそのような制限がある (ファイルやディレクトリを書き込めない) ことがわかるまでは、問題ありません。セキュリティの問題は言うまでもなく、この背後には理由があることを私は知っています。また、データストア、ブロブストア、Google クラウド ストレージなど、他のソリューションも提供しています。
ディレクトリを作成する必要があるため、データストアとブロブストアは解決策ではありません。この目的のためにデータストアとブロブストアは作成されません。
Google クラウド ストレージは良い選択肢のようです。ただし、有料サービスです(読み間違えなければ)。また、インターネットに接続せずにローカルで開発し、すべてを展開サーバーにアップロードする必要があるため、このオプションは使用できないと思います。
誰もこのような同様の問題に直面したことがありますか? 解決策はありますか?
PS:私が言ったように、いくつかの用語や概念が間違っている場合は訂正してください。私は google app エンジンを初めて使用します。