Вывести вывод консоли Python на HTML-страницу во Flask

1

Я хочу напечатать вывод консоли python на странице Html в Flask. Пожалуйста, помогите мне сделать то же самое. Я сделал три файла. app.py, index.html и result.html.

Мой app.py:

for i in image_path_list:
        j=j+1
        if i in duplicate:
            continue
        else:
            print(i+"  "+str(count[j])+"\n")
    return render_template('results.html', file_urls=file_urls)

if __name__ == '__main__':
    app.run()

Это мой результат.html

<h1>Hello Results Page!</h1>
<a href="{{ url_for('index') }}">Back</a><p>

<ul>
{% for file_url in file_urls %}
    <li><img style="height: 150px" src="{{ file_url }}"></li>
{% endfor %}
</ul>
  • 0
    удалить кавычки из src
Теги:
python-3.x
flask
flask-restful

1 ответ

2
Лучший ответ

1) count не является функцией python. Вместо этого используйте enumerate.

2) Вы используете переменную i во вложенной итерации, а это означает, что вторая будет переопределять значение самой внешней, которая нарушит вашу итерацию.

Вы можете сделать это так:

file_urls = []
for count, image_path in enumerate(image_path_list):
   if image_path not in duplicate:
      file_urls.append(str(count) + ". " + image_oath)

return render_template('results.html', file_urls=file_urls)

или же:

file_urls = [". ".join(str(count),image_path) for count, image_path in enumerate(image_path_list) if image_path not in duplicate]
return render_template('results.html', file_urls=file_urls)

или даже:

return render_template('results.html', file_urls=[".".join(str(count),image_path) for count, image_path in enumerate(image_path_list) if image_path not in duplicate])

Тем не менее, я рекомендую использовать первый, поскольку он более читабельным.

Дело в том, что Python действительно проще, чем C, и вам не понадобится много времени, пока вы не привыкнете к нему :)

  • 0
    Я попробовал твой метод очаровательного робота, но я все еще сталкиваюсь с некоторыми проблемами. Теперь на моей странице результатов печатаются уникальные изображения, на которых изображение не видно. Но я хочу напечатать название уникального изображения с количеством дубликатов изображений

Ещё вопросы

Сообщество Overcoder
Наверх
Меню