瓶子显示图像使用File://

时间:2015-02-15 23:33:11

标签: python bottle

我正在尝试在本地计算机上显示图像。我只使用自己机器上的网站。我不期待外面的访问。我在这里找到了一个解决方案:Get Flask to show image not located in the static directory,但它对我不起作用。我试过了:

相对路径,abs路径。它们都不起作用。我做错了什么?

问题: 出于测试目的,我的文件系统是这样的:

C:/jackson/Python34_workspace/Python34_Projects/Learn-Bottle/app05_rend_local_img/
    picuture_gallery/Desert.jpg
    views/index.tpl
    main.py

python脚本就是这个

@bottle.route("/")
def index():
    return bottle.template("index.tpl")

@bottle.post('/result')
def result():
    return bottle.template("index.tpl")

这是我的模板。

<form action="/result" method="POST">

<br>
<input type="submit" value="Submit">
<br>
</form>

<div>
    <img src="file:///C:/HSH/Python34_workspace/Python34_Projects/Learn-Bottle/app05_rend_local_img/picture_gallery/Desert.jpg">
</div>

---有些评论--- 我试过了

src="file:///picuture_gallery/Desert.jpg"

点击提交后,它无法显示。但是,如果我将它拖到浏览器上,它就可以了。怎么会这样?

1 个答案:

答案 0 :(得分:3)

使用file procotol的网址从未从服务器请求。客户端(浏览器)始终在本地系统上查找它。

因此,配置您的Bottle应用程序并不重要,浏览器不会要求它提供这样的URL。

如果您希望Botte应用程序deliver static files,请执行以下操作:

from bottle import static_file
@route('/static/<filename>')
def server_static(filename):
    return static_file(filename, root='/path/to/your/static/files')