我正在使用Fortnite API,更具体地说是Python package来编写Flask Web服务器。我想检索商店图像并将其显示在我的Flask Web服务器上。请注意,我是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
我希望输出显示商店中每件商品的图像,但是它只打印一个链接而没有图像。
答案 0 :(得分:1)
函数只能执行一次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