2013-06-20 12 views
8

初心者質問です。Pythonフラスコジンジャー画像ファイルが見つかりません

私はPythonのウェブフレームであるFlaskを使用しています。フラスコはJinjaを使用してテンプレートをレンダリングします。 Jinja Flaskのバージョンを知りませんし、JinjaバージョンまたはFlaskバージョンを取得する方法もわかりません。私はPythonバージョン2.7を使用します。

テンプレートには、css/imageディレクトリにイメージが含まれています。この画像は、テンプレートをFirefoxブラウザで直接ファイルとして表示するときに表示されます。フラスコを実行

でもない:

from flask import Flask, render_template 
app = Flask(__name__) 

@app.route('/hello/') 
@app.route('/hello/<name>') 
def hello(name=None): 
    return render_template('Basic.html', name=name) 

if __name__ == '__main__': 
    app.debug = True 
    app.run() 

HTMLファイルの内容:予想通り

<!DOCTYPE HTML> 
<html> 
    <body> 

     <!-- variable example begin --> 
     {% if name %} 
     <h1>Hello {{ name }}!</h1> 
     {% else %} 
     <h1>Hello World!</h1> 
     {% endif %} 

     <!-- variable example end --> 

    <img src="css/images/icons/resultset_previous.png" width="16" height="16" alt="previous" title="Previous" border="0"> 

    </body> 
</html> 

テンプレートの実行罰金と変数の例では、実行されます。しかし、画像は表示されません。 デバッグを返します: "GET /hello/css/images/icons/resultset_previous.png HTTP/1.1" 404 -

を文書で提案されているように、私はvirtualenvの中にフラスコを実行します。 イメージへのパスが不明なようです。どのようにパスを設定できますか?

+0

を設定しましたこれをチェック! – debianplebian

+0

virtualenvを使用している場合は、コマンドラインから 'pip freeze'を実行することで、使用しているジンジャーとフラスコのバージョンを知ることができます。 – richsilv

答えて

7

Flaskドキュメントのthis sectionを参照してください。

テンプレートから静的ファイルを参照するための正しい方法は次のとおりです。

<img src="{{ url_for('static', filename = 'css/images/icons/resultset_previous.png') }}" width="16" height="16" alt="previous" title="Previous" border="0"> 
+0

これは人生保護人です、ありがとうございます –

18

フラスコについて、あなたはなurl_for機能を使用し、「静的」は、通常のフォルダの下に静的ファイルを維持しなければなりません。 、神社についてのご質問にお答えするために

myproject/ 
    app.py 
    templates/ 
    static/ 
     css/ 
      images/ 
       icons/ 
        resultset_previous.png 

次にテンプレートで、あなたはまた、

<img src= {{ url_for('static', filename = 'css/images/icons/resultset_previous.png') }} width="16" height="16" alt="previous" title="Previous" border="0"> 

呼び出すことができます。あなたのプロジェクトは、それはようになるはずです「でmyproject」とあなたの例を使用して呼び出されたとしましょうバージョンなど、チュートリアルで推奨されているように、あなたがパスを

https://github.com/mitsuhiko/flask/blob/master/.travis-lowest-requirements.txt

+1

ありがとうございます。これはコブを行います – Bernard

+0

それが動作する場合は、他人に見えるように答えを受け入れてください。 – codegeek

+0

ありがとうございました。これは助けになった! –

関連する問題