基于JSON-varib的Python编码链接

2024-03-28 18:14:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python flask创建一个应用程序,我正在努力编码我的链接。在我的HTML模板中,我从JSON调用数据,基于JSON的一个变量,我想创建一个到另一个页面的链接,但是其中有“空格”的变量只接受第一个单词,链接不能正常工作。你知道吗

这是我的JSON:

[
   {
      "team":"AFC Bournemouth"
   },
   {
      "team":"Arsenal"
   }
]

这是我的Python:

@app.route('/<team>/')
def artist(team):
    json_data=open('static/data.json').read()
    data= json.loads(json_data)
    urllib.quote_plus(data.team)
    return render_template("team.html", team=team)

我试着用“urllib.quote\加“但是我犯了个错误

AttributeError: 'list' object has no attribute 'team'

我不知道怎么修。你知道吗

这是我的html循环:

{% for data in results %}
    <div class="team">
        <p><a href=/{{ data.team }}>{{ data.team }}</a></p>
    </div>
{% endfor %}

在我使用之前”urllib.quote\加“阿森纳”的链接运行得很好,但“伯恩茅斯足球俱乐部”只使用了“AFC”这个词。你知道吗


Tags: div模板json应用程序flask编码data链接
1条回答
网友
1楼 · 发布于 2024-03-28 18:14:46

这是奇怪的,它是正确的工作为“阿森纳”。实际上,您应该遍历“数据”,因为它是一个列表

示例:

@app.route('/<team>/')
def artist(team):
    json_data=open('static/data.json').read()
    data= json.loads(json_data)
    data = [{'team': urllib.quote_plus(team['team'])} for team in data]
    return render_template("team.html", results=data)

另一件事是,在render\u模板中,您发送的是变量team,而不是结果(在我的示例中已更改)。这样应该是好的,并与您的金贾模板工作。你知道吗

编辑:更改列表

相关问题 更多 >