我对表中的每个用户都有编辑按钮,我只想对所有的用户使用一个编辑表单。我的编辑按钮实现:
{{ 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的表单编辑不同的用户,但是现在我只能编辑一个被选中的人。
发布于 2019-07-05 02:00:37
我不确定我是否正确理解,我认为关键将是获得当前编辑的用户的用户名或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。
https://stackoverflow.com/questions/56887747
复制相似问题