2012-05-12 34 views
2

私はWebアプリケーション開発を学びたいと思っています。私は現在、Google App Engineを使ってアプリを作成しています。私は自分のサイトに画像を表示することを試していましたが、サイトは代替テキストを表示しています。Google App Engine、画像のアップロード

私はこれを初めて試みましたが、静的ファイルについてはわかりませんでした。この問題を修正したら、画像のリクエストラインは次のようになりました: '"GET /images/pic.jpg HTTP/1.1" 200 - "私がdev_appserverを走らせると、イメージングを行うためにPythonモジュール "PIL"が必要であると警告しました。一度ダウンロードしてインストールすると警告が消えてしまいましたが、まだ画像はロードされません!依頼行には依然として画像が見つかったことが示されます。しかし、すべてのサイトの表示は代替テキストです!

とにかく、ここでapp.yamlを、スクリプトのコードだ: (注意:私のpython 2.5のコードを使用しています)

----------- app.yaml- -----------

application: mysite 
version: 1 
runtime: python 
api_version: 1 

handlers: 
- url: /.* 
    script: myscript.py 

- url: /images 
    static_dir: images 

----------スクリプト-----------

template = """ 
     <body> 
       <br> 
       <br> 
       <img src="/images/pic.jpg" alt="Clone Pic" width="100", height="70"/><br> 
     </body> 
""" 
print "Content-Type: text/html" 
print template 

私のアプリケーションディレクトリは何ですか?以下のようなKS:

​​

私は最近、私は私のスクリプトで

<img src="/foo/pic.jpg...) 

をimagesディレクトリの名前を変更しても、要求ラインがまだOK

"GET /foo/pic.jpg HTTP/1.1" 200 - 

誰もが言うことが判明しました何が起こっているか知っていますか?

答えて

4

ハンドラの順序が重要です。 /.*はすべてのURIとマッチします。以下を試してください...

handlers: 
- url: /images 
    static_dir: images 

- url: /.* 
    script: myscript.py 

また、イメージファイルがstatic_dirで指定したディレクトリイメージの下にあることを確認してください。

これが役に立ちます。

+1

ありがとうございました!それは問題を解決しました! – Harrison