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)这可以确保当你移动东西时,URL 不会休息。

于 2013-07-10T08:35:48.740 回答