Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何向for循环中的HTML变量添加(超)链接?(烧瓶)_Python_Html_Css_Flask_Jinja2 - Fatal编程技术网

Python 如何向for循环中的HTML变量添加(超)链接?(烧瓶)

Python 如何向for循环中的HTML变量添加(超)链接?(烧瓶),python,html,css,flask,jinja2,Python,Html,Css,Flask,Jinja2,我正在使用Spotify的API列出本地服务器上的所有播放列表。当您在输入框中输入Spotify歌曲链接时,您选择一个播放列表,单击“提交歌曲”后,歌曲将被添加。我已经能够使用字典显示每个播放列表及其各自的追随者计数,其中包含每个播放列表的名称(作为键)和各自的追随者计数(作为值)。这是一张网页的图片(红色块后面是缩写名称的其余部分和关注者数量) 下一步,我想将显示的文本超链接到播放列表链接,这样,如果单击播放列表的名称,它将在新选项卡中打开。我开始创建一个包含播放列表名称(键)和相应链接(值)

我正在使用Spotify的API列出本地服务器上的所有播放列表。当您在输入框中输入Spotify歌曲链接时,您选择一个播放列表,单击“提交歌曲”后,歌曲将被添加。我已经能够使用字典显示每个播放列表及其各自的追随者计数,其中包含每个播放列表的名称(作为键)和各自的追随者计数(作为值)。这是一张网页的图片(红色块后面是缩写名称的其余部分和关注者数量)

下一步,我想将显示的文本超链接到播放列表链接,这样,如果单击播放列表的名称,它将在新选项卡中打开。我开始创建一个包含播放列表名称(键)和相应链接(值)的字典,但不确定如何将其合并到我的HTML文件中。我在HTML页面中使用for循环来生成每个单选按钮(如下所示)。下面是Flask main.py的代码(其他导入的文件只是使用API的小函数):

以下是index.html代码:

<!DOCTYPE html>
<html>
  <body>
    <div id="banner">
        <h1>Spotify API Test</h1>
        <br>
    </div>
    <form action="" method="post">
        Spotify Link:
        <br>
        <br>
        <input type="text" name="song-link" size = "100"></input>
        <br>
        <br>
      </form>
      {% for key, value in playlists_followers_dict.items() %}
      <input type="radio" name="playlist" value="{{ key }}"> {{ key }}, {{ value }} Followers<br>
      {% endfor %}
      <br>
      <br>
        <input type="submit" value="Submit Song"></input>
      </form>  
      <div id="output"></div>
      <p class="output-statement">{{output}}</p>
    </div>
</body>
</html>

SpotifyAPI测试

Spotify链接:



{%为键,播放列表中的值\u followers\u dict.items()%} {{key}},{{value}}跟随者
{%endfor%}

{{output}

如何在我的HTML中更改此for循环,使每个播放列表与plist_links字典中的值链接,以便在单击名称时在新选项卡中打开它们

{% for key, value in playlists_followers_dict.items() %}
<input type="radio" name="playlist" value="{{ key }}"> {{ key }}, {{ value }} Followers<br>
{% endfor %}
{%为键,播放列表中的值\u followers\u dict.items()%}
{{key}},{{value}}跟随者
{%endfor%}
进一步试验后,我就是这样解决的:

我没有使用两个字典(一个带有播放列表名称和跟随者计数,另一个带有播放列表名称和链接),而是创建了一个元组列表,存储在一个名为“playlists”的变量中,该变量的打印方式如下:

[('Chill…','1','https://example.com),(房子…,0,'https://example.com),…,…,…]

然后在我的HTML中,我将循环更改为以下内容:

{% for (name, follower_count, link) in playlists: %}
  <input type="radio" name="playlist" value="{{name}}"><a href={{link}} target="_blank">{{name}}, {{follower_count}} Followers</a><br>
{% endfor %}
{%用于播放列表中的(名称、跟随者计数、链接):%}

{%endfor%}
{% for (name, follower_count, link) in playlists: %}
  <input type="radio" name="playlist" value="{{name}}"><a href={{link}} target="_blank">{{name}}, {{follower_count}} Followers</a><br>
{% endfor %}