我正在制作一个简单的音乐应用。我想允许用户上传他们的音频文件,并且我有一个页面打算显示所有歌曲。我创建了一个模板,其结构如下所示:
{% for song in songs %} <div class="chart-item"> <div class="chart-position col-md-1"> <h3>#u</h3> </div> <!-- chart-position --> <div class="band-logo col-md-2"> <img src="{{ url_for('static', filename='uploads/users/{{ song['artistName'] }}/{{ song['pathToCover'] }}')}}"> </div> <!-- band-logo --> <div class="band-name-and-autio col-md-9"> <div class="band-name">{{ song['artistName'] }} - {{ song['songName'] }}</div> <!-- band-name --> <div class="audio"> <audio> </audio> </div> <!-- audio --> </div> <!-- band-name-and-autio --> <div class="clearfix"></div> </div> <!-- chart-item --> {% endfor %}
在这里,我想创建一个动态路径来覆盖图像和记录,但是我不知道在这里正确地将路径写入文件:
<img src="{{ url_for('static', filename='uploads/users/{{ song['artistName'] }}/{{ song['pathToCover'] }}')}}">
请说明如何做。我试图在flask网站页面上找到解决方案,但是目前我没有任何结果。
我不认为你可以嵌套这样的模板标签。但是你也不必这样做。
<img src="{{ url_for('static', filename='uploads/users/') }}{{ song['artistName'] }}/{{ song['pathToCover'] }}">
你可以从以下示例中了解其工作原理:
>>> from flask import Flask, url_for >>> app = Flask(__name__) >>> with app.test_request_context(): ... print url_for('static', filename='uploads/users/') /static/uploads/users/
所以,那么你只需要添加artistName,/,pathToCover
artistName,/,pathToCover