当前位置: 首页 > 面试题库 >

Flask静态文件路由中的变量[url_for('static',filename =''))

太叔望
2023-03-14
问题内容

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

{% 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



 类似资料:
  • 问题内容: 如何在Flask中使用引用文件夹中的文件?例如,我的文件夹中有一些静态文件,其中一些可能位于子文件夹中。 当我尝试从提供文件时static/bootstrap,出现错误。 我可以使用此功能来引用不在子文件夹中的文件。 引用静态文件的正确方法是什么url_for?如何使用url_for任何级别的静态文件生成URL? 问题答案: 默认情况下,你具有静态文件的端点。还应用有以下参数: :可用

  • 问题内容: 如何在Flask中使用引用文件夹中的文件?例如,我的文件夹中有一些静态文件,其中一些可能位于子文件夹中。 当我尝试从提供文件时,出现错误。 我可以使用此功能来引用不在子文件夹中的文件。 引用静态文件的正确方法是什么?如何使用任何级别的静态文件生成URL? 问题答案: 默认情况下,你具有静态文件的端点。还应用有以下参数: :可用于为网络上的静态文件指定其他路径。默认为文件夹的名称。 :包

  • 问题内容: 我想定义一个包含三个变量组件的url规则,例如: 但是我发现开发服务器在尝试匹配静态文件之前会评估这些规则。所以像这样: 会被我的url规则捕获,而不是转发给内置的静态文件处理程序。有没有一种方法可以强制开发服务器首先匹配静态文件? PS仅当规则具有两个以上可变组成部分时,这才是问题。 问题答案: 这是werkzeug路线优化功能。见,并且: 有-当前参数-路径深度。 因为我们有。有-

  • 本文向大家介绍php中static 静态变量和普通变量的区别,包括了php中static 静态变量和普通变量的区别的使用技巧和注意事项,需要的朋友参考一下 php中static 静态变量和普通变量的区别 在变量的前面加上static 就构成了静态变量(static 变量)。 static变量和普通变量的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各

  • Web应用程序通常需要一个静态文件,例如支持显示网页的JavaScript文件或CSS文件。 通常,可以通过配置Web服务器提供这些服务,但在开发过程中,这些文件将从包中的静态文件夹或模块旁边提供,它将在应用程序的上提供。 使用特殊的端点“静态”来为静态文件生成URL。 在以下示例中,中的HTML按钮的事件调用中定义的javascript函数,该函数在Flask应用程序的URL => 中呈现。 i

  • 问题内容: 我有一个端点,该端点在url中带有一个值,并产生一些将插入div的内容。我想使用JavaScript变量来构建url 。但是,是作为字符串而不是的值传递的。如何将JavaScript变量的值传递给? 问题答案: 您无法在Jinja中评估JavaScript。您正在尝试在Jinja呈现时在服务器端生成url,但您引用的变量仅在客户端浏览器上运行的JavaScript中可用。 在客户端上构