如何在 HTML 标签中 select 信息以在烧瓶形式中使用

How to select information within a HTML tag to use in a flask form

我的问题:

有没有办法可以 select h4 标签之间的艺术家姓名并使用 Flask 将其传递到数据库中?

上下文:

我是 Flask 的新手,所以我可能会在这里犯一些非常简单的错误。我正在尝试允许用户单击 'follow/like' 艺术家的按钮,当他们这样做时,艺术家姓名将与用户 ID 一起添加到基本数据库中。为此,我尝试使用 request.form.get('artistName')。但是,每次这 return 什么都没有。

我的代码的 HTML 看起来像:

{% for i in range(numOfResults) %}
     <form method="POST" action="/follow">
         <div class="col-xs-6 col-sm-3 placeholder">
             <img src="{{artistImage[i]}}" width="200" height="200" class="img-responsive" alt="Missing Artist Image">
             <h4 name='artistName'>{{ artistName[i] }}</h4>
             <button type="submit">Follow Artist</button>
          </div>
      </form>
{% endfor %}

我的app.py看起来如下:

@app.route('/follow', methods=['GET', 'POST'])
def follow():
    artistName = request.form.get('artistName')
    new_like = Like(user_id=current_user.id, artist=artistName, artist_id='10')
    db.session.add(new_like)
    db.session.commit()
    return '<h1> Artist Followed </h1>'

h4 不是有效的表单元素,因此您将无法像这样获取它的值。人们通常为此目的使用隐藏输入。

试试这个代码:

{% for i in range(numOfResults) %}
     <form method="POST" action="/follow">
         <div class="col-xs-6 col-sm-3 placeholder">
             <img src="{{artistImage[i]}}" width="200" height="200" class="img-responsive" alt="Missing Artist Image">
             <h4>{{ artistName[i] }}</h4>
             <input type="hidden" name="artistName" value="{{ artistName[i] }}">
             <button type="submit">Follow Artist</button>
          </div>
      </form>
{% endfor %}