5

ほとんどが静的なページであるウェブサイトをホストするために Google App Engine を使用しています。しかし、サーバー内のフォルダーから画像のリストを取得し、それらの画像を JavaScript を使用してページに動的に追加する必要がある部分があります。

os.walk("static/images/temp/1.jpg")Pythonスクリプトを使用して、ローカルマシンで動作させました。しかし、サイトを展開した後は機能しません。Python スクリプトは空を返します。Google App Engine で静的ファイルのリストを取得するための別のアプローチが必要ですか?

4

1 に答える 1

4

主な問題は、静的ディレクトリ(ファイルの提供に使用していると想定しています)内のファイルがコードとは異なる場所に保存されているため、コードのファイルディレクトリにないことです。

できることの1つ(同様の問題についてはここを参照)は、で(またはまったく)宣言していない別のディレクトリにファイルへのシンボリックリンクを作成する(または単にコピーする)ことです。その後、アプリケーションコードと一緒に使用され、を使用して参照できます。たとえば、ルートで呼び出されるディレクトリ内のファイルを反復処理する非常に単純なコードを次に示します。static_dirapp.yamlosupload_stuff

class MainPage(webapp2.RequestHandler):
  def get(self):
    path = os.path.join(os.path.dirname(__file__), 'upload_stuff')
    for filename in os.listdir(path):
      # Here you can do what you need with the files
      self.response.out.write(filename)

これは希望どおりに機能するように調整できますが、基本的な考え方は、静的な形式だけでなく、コードとともにファイルを保存する必要があるということです。

于 2012-11-26T06:15:23.827 に答える