首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在烧瓶中为用户制作动态表单

如何在烧瓶中为用户制作动态表单
EN

Stack Overflow用户
提问于 2019-07-04 12:14:32
回答 1查看 220关注 0票数 0

我对表中的每个用户都有编辑按钮,我只想对所有的用户使用一个编辑表单。我的编辑按钮实现:

代码语言:javascript
复制
{{ 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

代码语言:javascript
复制
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

代码语言:javascript
复制
class EditSprintUserForm(FlaskForm):
    value = FloatField('Mark', validators=[DataRequired()])
    description = TextAreaField('Description', validators=[DataRequired()])
    submit = SubmitField('Edit')

我有一个函数返回我的sprint get_users_in_sprint()中的所有用户

所以我想按下这个按钮,用一个名为EditSprintUserForm的表单编辑不同的用户,但是现在我只能编辑一个被选中的人。

EN

回答 1

Stack Overflow用户

发布于 2019-07-05 02:00:37

我不确定我是否正确理解,我认为关键将是获得当前编辑的用户的用户名或id时,您单击编辑按钮。

简单的解决方案是使用JavaScript,您需要为表单创建一个隐藏字段以获取用户名或id:

代码语言:javascript
复制
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。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56887747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档