2013-07-10 5 views
7

이미지를 생성하는 프로그램이 있습니다. 이제 본인은이 그림에 액세스 할 수 있도록 플라스크를 사용하려면,하지만 난 다음 코드로이 이미지를 표시 할 수 없습니다 :플라스크 이미지 제공

#!/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 - 

그리고 브라우저에는 제목이 있지만 그림은 표시되지 않습니다. 뭐가 문제 야?

그런데 다른 방법없이 그림을 표시하는 더 좋은 방법이 있습니까? 어쩌면 템플릿을 사용할 필요가 없을까요?

+0

음, 제목 태그가 잘못 배치 된 것 같습니다. 이것은 머리 부분의 일부이며 신체 부분이 아닙니다. – reporter

+0

@reporter :'head'와'body' 요소에 대한 _tags_는 선택 사항이므로 위의 HTML에는 아무런 문제가 없습니다. –

답변

7

이미지가 실제로 ./ 위치에 있는지, 즉 프로젝트의 루트에 있습니까? 어쨌든 Flask의 url_for() 메서드를 사용하여 URL을 결정하는 것이 더 좋습니다 (http://flask.pocoo.org/docs/api/#flask.url_for 참조). 이렇게하면 물건을 옮길 때 URL이 깨지지 않습니다.

+0

감사합니다. 나는'url_for' 메소드를 사용했으며 도움이되었습니다. –