用烧瓶提供图像

时间:2013-07-10 08:26:20

标签: python html flask

我有一个生成图像的程序。现在我想使用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 -

在我的浏览器中,我看到标题,但不是图片。怎么了?

顺便说一下,有没有更好的方法来显示没有其他任何东西的图片?也许我不必使用模板?

1 个答案:

答案 0 :(得分:7)

您确定图片确实位于./位置,即您项目的根目录中吗? 在任何情况下,最好使用Flask的url_for()方法来确定网址(请参阅http://flask.pocoo.org/docs/api/#flask.url_for)这可以确保当您移动网址时,网址不会中断。