Как отобразить несколько изображений из API во Flask - PullRequest
0 голосов
/ 03 мая 2019

Я использую Fortnite API , более конкретно пакет Python , для написания веб-сервера Flask. Я хочу получить изображения из Магазина и отобразить их на своем веб-сервере. Обратите внимание, что я новичок в Python и Flask.

Я пытался использовать @app.route("/shop") и сделать цикл for для получения изображений, и возвращая return item.information, который должен дать мне все ссылки на изображение (ссылки выглядят как this ) и распечатать их. Я хочу отобразить их как изображения.

Вот что я попробовал, я знаю, что это не показывает их в виде изображений, но я действительно новичок. Странно то, что он не возвращает даже все ссылки.

from flask import Flask
from FortniteAPI import Shop

app = Flask(__name__)

@app.route("/shop")
def shop():
    shop = Shop()
    items = shop.get_items()
    for item in items:
        return item.information

Я ожидал, что на выходе будут показаны изображения каждого предмета в магазине, но он печатает только одну ссылку, а не изображения.

1 Ответ

1 голос
/ 03 мая 2019

Функции могут выполняться return только один раз.

Таким образом, вы можете вернуть элементы

items = shop.get_items()
return items

Или вы можете создать новый список с помощью information и вернуть этот список

items = shop.get_items()
info = [x.information for x in items]
return info

Для отображения в виде изображенийВы должны использовать HTML-шаблон и render_template()

from flask import Flask, render_template

items = shop.get_items()
info = [x.information for x in items]

return render_template('all_images.html', links=info)

И в 'all_images.html'

{% for url in links %}
<img src="{{ url }}"/>
{% endfor %}

Или использовать items

from flask import Flask, render_template

items = shop.get_items()

return render_template('all_images.html', links=items)

И в 'all_images.html'

{% for url in links %}
<img src="{{ url.information }}"/>
{% endfor %}

РЕДАКТИРОВАТЬ: это не популярно, но вы также можете генерировать HTML непосредственно в функции

items = shop.get_items()

html = ''

for x in items:
    html += '<img src="{}"/>'.format(x.information)

return html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...