我正在尝试在本地计算机上显示图像。我只使用自己机器上的网站。我不期待外面的访问。我在这里找到了一个解决方案: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"
点击提交后,它无法显示。但是,如果我将它拖到浏览器上,它就可以了。怎么会这样?
答案 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')