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

その方法を説明してください。フラスコの Web ページで解決策を見つけようとしましたが、今のところ結果はありません。

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 に答える