9

我正在制作一个简单的音乐应用程序。我想允许用户上传他们的音频文件,并且我有一个页面,我计划在其中显示所有歌曲。我创建了一个模板,结构如下:

{% 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'] }}')}}">

请解释一下如何做。我试图在烧瓶网页上找到解决方案,但现在我没有任何结果。

4

2 回答 2

18

我不相信你可以嵌套这样的模板标签。但你也不应该这样做。

<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

于 2013-10-22T07:11:03.520 回答
6

我认为你可以做到

<img src="{{ url_for('static', filename='uploads/users/'+ song['artistName']+'/'+ song['pathToCover'])}}">

这个对我有用 :)

于 2015-02-14T07:21:37.630 回答