#python #flask #jinja2
Вопрос:
Я хотел бы вызвать какое-нибудь изображение для отображения table.html
из controller/static/foto
папки
Когда я вызываю value foto с функцией python img_dir
в HTML, используя for loop
info/views.py
import controller import create app
import os
@info_blue.route('/img_dir')
def img_dir():
app = create_app('dev')
images = os.listdir('controller/static/foto')
return render_template("table.html", foto=images)
table.html
{% for row in value %}
<tr>
<td>{{row[0]}}</td>
<td>{{row[1]}}</td>
<td>{{row[2]}}</td>
<td>{{row[3]}}</td>
<td>
{% for image in foto %}
<img src="{{ url_for('static', filename='controller/static/foto/' image) }}">
{% endfor %}
</td>
{% endfor %}
</tr>
Кажется, это не работает , но когда я пытаюсь проверить содержимое папки print(images)
, я проверяю, есть ли 3 фотографии
3 фотографии внутри папки из пути к папке controller/static/foto
Почему он все еще пуст?
Таблица в столбце фото, похоже, не показывает никаких фотографий
Примечание: в столбце «Фото» он содержит только переменную имени фотографии из базы данных, просто чтобы указать, была ли это правильная фотография, когда появилась фотография
Это путь к папке
Попытался вызвать одно изображение из foto/
{% for row in value %}
<tr>
<td>{{row[0]}}</td>
<td>{{row[1]}}</td>
<td>{{row[2]}}</td>
<td>{{row[3]}}</td>
<td>
{% for image in foto %}
<img src="{{ url_for('static', filename='controller/static/foto/' image) }}">
{% endfor %}
<img src="{{ url_for('static', filename='foto/18_Aug_2021|02:33.jpg' image) }}">
</td>
{% endfor %}
</tr>
Это работает, но только вне цикла изображений
Вызовите одно изображение внутри цикла строк, но вне цикла изображений
когда я попытался проверить URL-адрес, это результат, похоже, что изображение не вызывается ?
{% for image in foto %}
<img src="{{ url_for('static', filename='foto/' image) }}">
{% endfor %}
<img src="{{ url_for('static', filename='foto/18_Aug_2021|02:33.jpg' ) }}">
когда я это делаю, даже изображение » » делает это без пробела
URL-адрес для проверки второго изображения
скопируйте непосредственно в свой комментарий и получите jinja2.exception получил Jinja2.exception
непосредственно скопируйте исходный код
тест с переменной пути, без ошибок, но не работает
если его работа, в каждой строке должно быть по две картинки
новая проверка переменной пути
просто удалите {{ строка 4 }} эти пробелы должны быть из кода невыполнения
Ответ №1:
Пожалуйста, проверьте, правильный ли путь к файлу, который вы отправляете, или нет. Я думаю, что вы дважды вставили статический путь в путь к файлу.
<img src="{{ url_for('static', filename='controller/static/foto/' image) }}">
Здесь в имени файла параметра «контроллер/статический/» не должно быть, удалите его и попробуйте.
Я думаю, что это сработает.
Ответ №2:
Так это потому, что есть функция под названием таблица, которая возвращает table.html вот так, вот почему функция возврата из img_dir не работала
система, принимающая приоритет функции возврата
решение заключается в том, чтобы объединить их в одно целое, поэтому возврат сделает это вместе, как одно, и никто не возьмет на себя приоритет.
результат, который они назвали, но возникла другая проблема, я думаю, может занять новый билет