Используйте несколько одинаковых категорий flaskform на одной странице и отправляйте их по отдельности в базу данных - PullRequest
1 голос
/ 08 мая 2020

У меня есть форма колбы со следующими категориями:

`class TestForm(FlaskForm):
    question: ('Question')
    likelihood = SelectField('Likelihood',choices=[('1','1'),('2','2'),('3','3'),('4','4'),('5','5')])
    impact = SelectField('Impact', choices=[('1','1'),('2','2'),('3','3'),('4','4'),('5','5')])
   `

У меня есть страница html с несколькими вопросами, на каждый из которых нужен ответ вероятности и воздействия. Каждый вопрос находится в таблице вместе с бланками для колб. Так, например:

Таблица 1:

  1. Столбец вопросов: Я хочу купить мороженое .
  2. Колонка правдоподобия: форма колбы вероятности
  3. Столбец удара: форма колбы

Таблица 2:

  1. Колонка вопросов: хочу купить солнцезащитный крем .
  2. Столбец правдоподобия: форма вероятности
  3. Столбец воздействия: форма колбы воздействия

Однако, когда я отправляю свою форму, в мою базу данных попадает только первый результат . Это маршрут страницы, которая должна отправить форму:

`@projects.route("/project/<int:project_id>/concept", methods=['GET', 'POST'])
@login_required
def concept(project_id):
    form = TestForm()
    project = Project.query.get_or_404(project_id)
    if form.validate_on_submit():
            test = Testresponse(form.likelihood.data, impact=form.impact.data)         
            db.session.add(test)
            db.session.commit()
            flash('Your data has been processed', 'success')
            return redirect(url_for('projects.concept', project_id=project_id))
    return render_template('create_concept.html', title='concept',
                           form=form, legend='project', project=project,project_id=project_id)`

Таблица базы данных называется Testresponse. Мне как-то нужно закодировать часть, в которой указано, что кнопка отправки должна отправлять данные всех вопросов в базу данных, а не только первого. Может быть, что-то вроде: для каждой таблицы возьмите form.likelihood.data и form.impact.data.

Я немного застрял, потому что не знаю, как сделать al oop таким же для таблиц html. Может ли кто-нибудь помочь мне или предложить альтернативную идею?

...