отправить python вывод на flask сервер - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь что-то нарисовать в python и затем отобразить вывод на сервере flask. простой пример:

это код python:

from PIL import Image
from flask import Flask, render_template
import datetime
app = Flask(__name__)
@app.route("/")
def hello():
    img = Image.new('RGB', (60, 30), color = 'red')
    templateData = {
      'title' : 'HELLO!',
      'image': img
      }
    return render_template('index.html', **templateData)
if __name__ == "__main__":
   app.run(host='0.0.0.0', port=80, debug=True)

это код файла html:

<!DOCTYPE html>
   <head>
      <title>{{title}}</title>
   </head>
   <body>
      <h1>Hello, World!</h1>
      <img src="{{image}}" alt="not working">
   </body>
</html>

при запуске кода, это не показывает вывод на странице, есть ли способ сделать это?

1 Ответ

0 голосов
/ 17 марта 2020

Я не очень хорошо знаю внутренний механизм генерации изображений библиотекой PIL, но могу предложить простой подход:

Предположим, у вас есть такая структура:

root/
    static/
        img/
    templates/
        index.html
    your_script.py

your_script.py

from PIL import Image
from flask import Flask, render_template
import datetime

app = Flask(__name__)
@app.route("/")
def hello():
    img = Image.new('RGB', (60, 30), color = 'red')
    img.save('static/img/red.png')
    templateData = {
        'title' : 'HELLO!',
        'image': 'red'
    }
    return render_template('index.html', **templateData)

if __name__ == "__main__":
   app.run(host='0.0.0.0', port=80, debug=True)

index. html

<!DOCTYPE html>
    <head>
        <title>{{title}}</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
        <img src="{{url_for('static', filename='img/')}}{{image}}.png">
    </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...