Форум сайта python.su
Здравствуйте!
Нужна помощь по Flask.
Я сделал веб-сервер, но иконки которые лежат в папочке отображаться не хотят, путь к ним верный. В браузере при нажатии ПКМ/посмотреть код элемента, адрес высвечивается 192.168.1.129/images/max.jpg, картинка лежит в этой папочке рядом с файлом .html.
В терминале при попытке загрузки иконки ошибка 404, и так на каждой.
Я подразумеваю, что сначала как-то иконки нужно поместить в templateData, а потом извлечь в нужном месте шаблона.
Я прав? То как это нужно сделать.
Или есть другие способы. Желательно без внешних ссылок на иконки, чтобы сервер был автономен.
Офлайн
Код шаблона где вы вставляете иконки в студию…
Офлайн
Нашел на форуме рекомендацию, что нужно картинку отправлять в статику, а потом из нее загружать.
http://python.su/forum/topic/12179/
В интернете нашел это http://nyashk.in/blog/flask , но не могу понять что мне нужно писать в templateData, чтобы воспользоваться {{ url_for('static', filename=‘main.jpg') }}.
По сути выходит? что нужно прописать к тому что у меня есть
templateData = {
‘d’ : d,
‘c’ : c,
static_folder=’static’, # папка статики модуля
}
return render_template('komnata1.html', **templateData)
Вот мой шаблон, ссылки введены верно лишь в первой строке, на ней все отрабатываю, вот картинки вообще ни какие не грузит, и путь менял уже
<!DOCTYPE html>
<html>
<head>
<meta charset=“utf-8”>
<title>заголовок</title>
<style>
body{max-width:600px}
h1 {
font-size: 28px;
font-family: Monaco, Courier, monospace;
color: #618ad2;
}
h2 {
font-size: 18px;
font-family: Monaco, Courier, monospace;
color: #618ad2;
}
h5 {
font-size: 7px;
font-family: Monaco, Courier, monospace;
color: #618ad2;
line-height: 10%;
}
p {
text-align: center;
style=“font-weight:bold”
font-size: 12px;
font-family: Monaco, Courier, monospace;
color: #618ad2;
}
ul {
padding: 0; /* Убираем поля */
margin-left: 150px; /* Отступ слева */
}
TABLE {
width: 100%; /* Ширина таблицы */
}
#col1 {
text-align: right;
width: 44%; /* Ширина первой колонки */
background: white; /* Цвет фона первой колонки */
vertical-align: top; /* Выравнивание по верхнему краю */
padding: 5px; /* Поля вокруг содержимого ячеек */
}
#col2 {
width:56%; /* Ширина второй колонки */
background: white; /* Цвет фона второй колонки */
vertical-align: top; /* Выравнивание по верхнему краю */
padding: 4px; /* Поля вокруг содержимого ячеек */
}
#col1, #col2 {
}
.rose {color: #FF2400}
</style>
</head>
<body>
<center><h1>Комната 1</h1></center>
<center><table border=“0” >
<tr>
<td id=“col1”>
<h2>Люстра </h2>
<h2>Холодный свет </h2>
<h2>Теплый свет </h2>
<h2>Окно </h2>
</td>
<td id=“col2”>
<h5>
{% if d.st == “1” %}
<a href=“/komnata1/d2/light1/0” style=“text-decoration: none;”><img src=“../images/OFF.jpg” align=“bottom” width=“14%” height=“14%”/></a>
{% else %}
<a href=“/komnata1/d2/light1/1” style=“text-decoration: none;”> <img src=“../images/ON.jpg” align=“bottom” width=“14%” height=“14%”/></a>
{% endif%}
</h5>
<h5><a href=“/kuhnya/” style=“text-decoration: none;”> <img src=“images/ON.jpg” align=“bottom” width=“14%” height=“14%”/></a></h5>
<h5><a href=“/zal/” style=“text-decoration: none;”><img src=“images/OFF.jpg” align=“bottom” width=“14%” height=“14%”/></a></h5>
<h2><a href=“/prihojya/” style=“text-decoration: none;”>Открыть</a> <a href=“/prihojya/” style=“text-decoration: none;”>Закрыть</a></h2>
</td>
</tr>
<tr>
<td colspan=“2”><ul>
<h2>Температура в комнате: <i class=“rose”>{{c.st}}</i></h2>
<h2>Температрура за окном: <i class=“rose”>{{c.st}}</i></h2>
<h2>В комнате кто-то есть: <i class=“rose”>ДА</i></h2>
<h2><a href=“/prihojya/” style=“text-decoration: none;”>Синхронизировать часы</a></h2></ul></td></tr>
</table></center>
<p>Измените нужные параметры</p>
</body>
</html>
Офлайн
<img src="{{ url_for("static", filename="ops.jpg") }}" alt="ops image">
Офлайн
Спасибо, все заработало!
Офлайн