Вывести вывод консоли Python на страницу HTML во Flask - PullRequest
0 голосов
/ 24 сентября 2018

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

My 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()

Это мой result.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>

1 Ответ

0 голосов
/ 24 сентября 2018

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, и вам не понадобится много времени, пока вы не привыкнете к нему:)

...