7

画像を生成するプログラムがあります。Flask を使用して他のユーザーがこの画像にアクセスできるようにしたいのですが、次のコードではこの画像を表示できません。

#!/usr/bin/python2
#coding: utf-8

from flask import *
app = Flask(__name__)

#app.run(host='0.0.0.0')

@app.route('/')
def index():
    return render_template('hello.html')

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

私のテンプレート hello.html は次のとおりです。

<!doctype html>
<title>Hello from Flask</title>
<h1>Hello World!</h1>
<img src="./weather-plot.png">

このプログラムを実行してページにアクセスすると、次のように表示されます。

192.168.0.61 - - [10/Jul/2013 10:22:09] "GET / HTTP/1.1" 200 -
192.168.0.61 - - [10/Jul/2013 10:22:09] "GET /weather-plot.png HTTP/1.1" 200 -

ブラウザにはタイトルは表示されますが、画像は表示されません。どうしたの?

ところで、他に何もない画像を表示するためのより良い方法はありますか? 多分私はテンプレートを使用する必要はありませんか?

4

1 に答える 1

7

画像が実際に場所./、つまりプロジェクトのルートにあると確信していますか? いずれにせよ、Flask のurl_for()方法を使用して URL を決定することをお勧めします ( http://flask.pocoo.org/docs/api/#flask.url_forを参照)。壊す。

于 2013-07-10T08:35:48.740 に答える