
API 那里传出来的数据是一个列表(list),列表里面有字典(dictionary), 字典里面有图片名字。现在想在模板那里遍历这个列表获取图片名字,然后把这个名字作为变量传到模板中的 url_for()。现在以下两种方法测试过皆可行,但是总觉得写法有点怪怪。不知道各位老哥一般是怎么写的,可否提点一下,谢谢!
这是 API:
DATE = [ { "name": "image1", "date": "20210810" }, { "name": "image2", "date": "20210811" } ] @app.route("/home", methods=["POST", "GET"]) def home(): return render_template("home.html", data=DATE) 写法一:
{% for d in data: %} <img src="{{ url_for('static', filename='img/' + d.name + '.jpg') }}"> {% endfor %} 写法二:
{% for d in data: %} <img src="http://www.v2ex.com/static/img/{{d.name}}.jpg"> {% endfor %} 1 Deteriorator 2021-08-11 16:21:00 +08:00 第一种写法比较好吧 |
2 sudoy OP @Deteriorator 第一种写法 url_for 是官方推荐的,但是把变量传到文件名里面这样写好像有点怪怪的 |
3 cz5424 2021-08-11 23:25:45 +08:00 现在用着模板都觉得变扭,前后端分离不香吗,url_for 是官方推荐的,目的是 static 的路径可以变化 |