将换行符"n"或"<br>"从主功能传递到金贾



我有一个颜色列表:

colors = [red, green, blue]

我希望它以

的形式打印在我的网页上
  • 绿色
  • 蓝色
  • 我通过在我的HTML模板{{colors_out}}中使用一个参数来尝试这一点,在这里我将一个带有"n"的字符串传递给它,如下所示:

    colors_out = ""
    for i in range(len(colors)):
    colors_out += (str(i) + ". " + colors[i] + "n")
    

    然而,这只会在颜色之间增加一个空间。它输出如下内容:

    0. red 1. green 2. blue
    

    而不是我想要的格式。我也尝试用上面的for循环中的"<br>"替换"n",但随后它将导致:

    0. red<br>1. green<br>2. blue<br>
    

    一种方法,你可以尝试在你的HTML中使用Jinja2中的for循环。

    您可以简单地将一个列表传递给HTML,然后在Jinja2中使用for循环和

    标记将输出打印在单独的行上—

    例如在你的例子中-

    在你的Flask代码-

    from flask import Flask, render_template, request
    app = Flask(__name__)
    @app.route('/')
    def index():
    return render_template('index.html')
    @app.route('/colors', methods=["GET","POST"])
    def test():
    #your other code
    colors = ['red', 'green', 'blue']
    return render_template('index.html',color=colors)
    if __name__ == '__main__':
    app.run()
    

    你的HTML代码-

    添加这个for循环,在这里我遍历所有的颜色并在单独的行中打印它们

    {% for i in color %}
    <p>{{ i }} </p>
    {% endfor %}
    

    你也可以根据你的要求使用任何其他标签,它仍然会在新行上打印。

    最新更新