为每个表单内容添加一个单选按钮

时间:2018-12-01 22:38:23

标签: python flask flask-wtforms

这可能是一个非常简单的问题,但是由于我是新手,因此很难解决。我有一组帖子(目前随机选择),我希望用户从显示的帖子中投票出自己喜欢的帖子。默认情况下,帖子数为2,但我会使其更具通用性和可变性。对于我的代码,我首先定义了WTForm单选按钮:

class SelectionForm(FlaskForm):
    Selection = RadioField('Label', choices=[('v1','1'),('v2','2')])

然后我将其添加到路线中

def show_posts():
    form = SelectionForm()
    selection=2
    if current_user.is_authenticated==False:
        return redirect(url_for('login'))
    post_count=db.session.query(Post).count()
    post_select=sample(range(1,1+post_count),selection)
    post=db.session.query(Post).filter(Post.id.in_(post_select)).all()
    flash('Your vote has been submitted!', 'success')
    if form.validate_on_submit():      
        return redirect(url_for('show_posts'))
    return render_template('posts.html', posts=posts)

最后,我必须编写我的html文件,问题是只为两个笑话定义了表单类,而且我不知道如何在帖子前添加按钮,因为{{ 3}} 显示此方法:

{% for subfield in form.radio %}
    <tr>
        <td>{{ subfield }}</td>
        <td>{{ subfield.label }}</td>
    </tr>
{% endfor %}

但是我无法执行此操作,因为我的代码已经在html文件中包含另一个for循环:

{% extends "layout.html" %}
{% block content %}
    {% for post in posts %}
        <article class="media content-section">
          <img class="rounded-circle article-img" src="{{ url_for('static', filename='profile_pics/' + post.author.image_file) }}">
          <div class="media-body">
            <div class="article-metadata">
              <a class="mr-2" href="#">{{ post.author.username }}</a>
            </div>
            <p class="article-content">{{ post.content }}{{form.Selection}}</p>
          </div>
        </article>
    {% endfor %}
{% endblock content %}

我该如何解决这个问题?

0 个答案:

没有答案