我试图服务的静态文件从瓶,但说静态文件包含一个图像,这是不显示。这是我的酒瓶代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return app.send_static_file("somefile.html")
if __name__ == '__main__':
app.run(debug = True)下面是我的html文件"somefile.html“,它位于包含上述代码的目录下的”静态“子目录中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div> this is some garbage text </div>
<img id="ansvg" src="./ppnow.svg">
</body>
</html>图形位于与somefile.html相同的“静态”子目录中。
如果我直接将html文件拖到浏览器中,没有问题,我会得到图形,但是如果我运行烧瓶服务器并指向localhost:5000,那么图形就不会显示出来(尽管文本会显示)。
到底怎么回事?谢谢。
发布于 2015-08-04 12:45:12
您正在为根URL ( / )下的HTML页面服务。然后,浏览器将根据根url加载所有相关url。
因此,您的映像将被加载为/ppnow.svg,而不是/static/ppnow.sgv。
您可以修复到图像的链接,也可以使用 tag修改基本URL。
<base href="/static/">请注意,如果没有域名(绝对URL),IE可能会忽略基标记。
https://stackoverflow.com/questions/31809659
复制相似问题