我对表中的每个用户都有一个编辑按钮,并且我只希望对所有用户使用一种编辑形式。 我的编辑按钮实现:
{{ button_show_dialog('open_edit_sprint_user', 'Edit','btn-primary') }}
{% call dialog_window('open_edit_sprint_user', 'Edit') %} {{ wtf.quick_form(edit_sprint_user_form, button_map={'add_user-submit': 'success'}) }} {% endcall %}
sprint_handler.py
def sprint_info(team_code, sprint_number):
edit_sprint_user_form = forms.EditSprintUserForm(prefix='edit_sprint_user')
if edit_sprint_user_form.validate_on_submit():
******do something******
return render_template('baseop/sprint_info.html', sprint=sprint,
edit_sprint_user_form=edit_sprint_user_form)
forms.py
class EditSprintUserForm(FlaskForm):
value = FloatField('Mark', validators=[DataRequired()])
description = TextAreaField('Description', validators=[DataRequired()])
submit = SubmitField('Edit')
我有一个函数可以返回我的sprint get_users_in_sprint()
所以我想按此按钮并仅使用一种名为EditSprintUserForm的表单来编辑不同的用户,但是现在我只能编辑一个选定的人
答案 0 :(得分:0)
我不确定我是否理解正确,我想关键是单击编辑按钮时,获取当前已编辑用户的用户名或ID。
简单的解决方案是使用JavaScript,您需要为表单创建一个隐藏字段以获取用户名或ID:
from wtforms import HiddenField
class EditSprintUserForm(FlaskForm):
user = HiddenField('User') # <--
value = FloatField('Mark', validators=[DataRequired()])
description = TextAreaField('Description', validators=[DataRequired()])
submit = SubmitField('Edit')
然后使用JavaScript创建事件侦听器,以在您单击编辑按钮时用用户名或ID填充此隐藏的输入。您可以在编辑按钮中存储用户的用户名或ID。
现在,在视图功能中,您可以使用edit_sprint_user_form.user.data
获取用户名或ID。