【问题标题】:How can i pass a row data from table in a html page to python如何将html页面中的表中的行数据传递给python
【发布时间】:2019-09-25 12:41:28
【问题描述】:

我正在将 python 烧瓶用于 Web 应用程序。通过使用获取请求(调用rest API),我以表格的形式显示结果。(例如:每一行都有'name'、'age'、'city'列)我为每一行提供了更新按钮。现在,当我单击更新按钮时,必须在另一个页面中自动填充特定的行字段,用户可以在其中编辑它然后更新它。现在我如何获取特定的行数据(姓名、年龄、城市)并自动填充到不同页面的文本字段中。

【问题讨论】:

  • 澄清一下,您是立即将它们转发到编辑页面还是要存储信息以备后用?
  • 暂时不需要存储。我只需要立即将它们转发到编辑页面

标签: python html python-3.x flask


【解决方案1】:

我能想到的最简单的方法是使用 WTForms 在另一个页面上填充表单

所以首先使用您的编辑按钮将信息发送到另一个端点

<input type=button onClick="location.href='example.com/edit/id123'" value='edit'>

并使用 wtforms 在端点填充表单

from wtforms import Form
class Editform(Form):
    name = TextField('Name:', validators=[validators.required()])
    email = TextField('Age:', )
    password = TextField('City:')
    columns= TextField('Columns:')


@app.route('/edit/<id>')
def edit(id):

    # get the row that you selected
    db_data = db.getrow(id)

    # initialise and populate the form
    form = Editform()
    form.name.data = db_data .name
    form.email.data = db_data.email
    form.password.data = db_data.password
    form.column.data = db_data.column

    # this will be called when form is submitted
    if form.validate_on_submit():
        # use form data to update db
        update_data = form.data
        update_db(update_data)
        flash("Successfully updated row")

    return render_template('edit.html', form=form, title='edit')

顺便说一句,这没有经过测试,也可以通过使表格进入只读文本字段直到您按下编辑按钮,然后您可以就地编辑表格并使用 ajax 调用,从而无需转到单独的页面即可更新数据库

【讨论】:

    猜你喜欢
    • 2019-11-21
    • 1970-01-01
    • 2012-01-01
    • 2016-06-06
    • 1970-01-01
    • 2012-07-26
    • 2018-12-04
    • 2015-05-17
    相关资源
    最近更新 更多