当前位置: 代码迷 >> python >> Flask 只返回一个值
  详细解决方案

Flask 只返回一个值

热度:144   发布时间:2023-06-13 13:44:12.0

我有一个从网络中提取信息的功能,我可以毫无问题地将它打印到我的控制台。 但是,我遇到了让烧瓶应用程序将信息打印到浏览器的问题。 这是我到目前为止所拥有的:

from craigslist import CraigslistForSale
from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def get_info():
    item = CraigslistForSale(site='southjersey', 
        category='fua', filters={'max_price':200})
    for product in item.get_results():
        a = product
        return a['name'], a['price']


if __name__ == "__main__":
    app.run(debug=True)

从上面的代码来看,我的浏览器只显示一个返回值的一个名称。 例如,只有第一个返回值a['name'] ,没有价格也没有其他对象。

为什么会发生这种情况(仅显示一个值),以及如何解决此问题以显示整个返回对象(即字典)。

看法:

from craigslist import CraigslistForSale
from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def get_info():
    item = CraigslistForSale(site='southjersey', 
        category='fua', filters={'max_price':200})

    return render_template('index.html', items=item.get_results())


if __name__ == "__main__":
    app.run(debug=True)

模板( index.html ):

{% for product in items %}
    {{ product['name'] }}
    {{ product['price'] }}
    ...
{% endfor %}