データベースの行から一連のフォーム フィールドを動的に作成しています。各フィールドには独自のフォームがあります。フォームが送信されると、データベース内の行が更新されます。私が抱えている問題は、送信されたフォームを関連する行と一致させるにはどうすればよいですか? すべてのフォーム フィールドは「shared」という同じ名前になっていますが、各フィールドには独自のフォームがあるため、これで問題ありません。
ビュー.py
def setting(nickname):
user = User.query.filter_by(nickname = nickname).first()
cars = user.cars.all()
form_list = []
for car in cars:
class F(Form):
pass
setattr(F, 'shared', TextField(default=car.shared, label = car.carname))
form = F(request.form, obj = car)
form_list.append(form)
if form.validate_on_submit():
flash(request.form)
flash(form.shared.data)
return render_template('settings.html',
user = user,
form_list = form_list
)
settings.html
{% for field in form_list %}
<form action="" method="post" name="share">
{{ field.shared.label }} - {{ field.shared }}
<input type="submit" value="share/make private"/>
</form>
{% endfor %}
ありがとう