为什么这个 link 不能工作...?

Why might this link not be working...?

我在一个页面上呈现一堆帖子,用户可以在该页面上浏览列表并单击其中一个,然后发送到 'singles page' 以获得有关他们单击的任何产品的更多信息。此方法适用于每个 link 除了第一个。

每当我点击页面的第一个 link 时,我都会收到 Not Found:在服务器上找不到请求的 URL。如果您手动输入 URL,请检查您的拼写并重试。 错误。

我为 HMTL/jinja 制定的逻辑是(一切都已正确关闭,为了简洁起见,我删除了一些不必要的代码):

{% set i = 0 %}
   {% for row in data %}
      {% set i = i + 1 %}

                       <a href="/iLike/{{ i }}">
                                <li>content</li>
                       </a>

和我的 python 代码:

@app.route('/iLike/<int:num>', methods=['GET','POST'])
def single2(num):
  try:
    loc = session.get('loc')
    transType = session.get('transType')
    data = singlesQuery()


    return render_template('single.html', loc=loc,transType=transType,data=data[num-1])
except Exception as e:
    return (str(e))

无需手动构建 URLs。最好的方法是使用 flask 的内置函数 url_for:

{{url_for('single2', num=i)}}

也不需要手动计算i,因为有内置的loop.indexloop.index0:

{% for row in data %}
    <a href="{{url_for('single2', num=loop.index)}}">

我相信这应该始终创建一个有效的 URL。