问题
I'm trying to display images located in a folder which is not the default static folder.
My template looks like:
{% extends "layout.html" %}
{% block body %}
Albums
{% for album in albums %}
<img src="{{ album ['ThumbPath'] }}">
{% endfor %}
{% endblock %}
The generated HTML looks like:
<!doctype html>
<title>iPhoto</title>
<link rel=stylesheet type=text/css href="/static/style.css">
<div class=page>
<h1>iPhoto</h1>
<img src="/Users/Darrell/Pictures/iPhoto Library/Thumbnails/2013/08/09/20130809-180444/t264vvMaQM+GJosBP+4q+Q/_DSC1225.jpg">
<img src="/Users/Darrell/Pictures/iPhoto Library/Thumbnails/2013/08/09/20130809-181030/urU3jqSKRgGNNP1MjKhpvg/_DSC1268.jpg">
<img src="/Users/Darrell/Pictures/iPhoto Library/Thumbnails/2013/08/09/20130809-181037/1zYyNYReRg+Sizx8v4BUkw/_DSC0923.jpg">
<img src="/Users/Darrell/Pictures/iPhoto Library/Thumbnails/2013/08/09/20130809-181038/sKzEEB3jSf6GBs2heQIviA/Kelly.jpg">
</div>
How can get the images to be rendered on the generated webpage. The path to the image is correct. It is no option to copy all images to the static folder.
Darrell
回答1:
Look like you have file system path instead site. When you start resource with /
then path will start from site root (absolute path for site, without slash or with ./
or ../
is relative) for example if you have site http://test.com
then /
will be http://test.com/
or /test
will be http://test.com/test
. You can set path with specific protocol protocol://
or identical for current site //
for another sites. You always can found errors with wrong (full) urls in your browser error console.
To get access to file system you must use file://
protocol and you urls will be like file:///Users/Darrell/Pictures/...
. But it will work only for your computer and can have security issues. You also can set symbolic link for this files to static folder and this resolve security issues, but not resolve issue with only your computer. To completely resolve this issue better publish this files to your application or on public (private) web servers for images or another static.
来源:https://stackoverflow.com/questions/18368057/get-flask-to-show-image-not-located-in-the-static-directory