Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将html页面中表中的行数据传递给python_Python_Html_Python 3.x_Flask - Fatal编程技术网

如何将html页面中表中的行数据传递给python

如何将html页面中表中的行数据传递给python,python,html,python-3.x,flask,Python,Html,Python 3.x,Flask,我将PythonFlask用于web应用程序。通过使用get请求(调用RESTAPI),我以表格的形式显示结果(例如:每行有'name','age','city'列),我为每行提供了更新按钮。现在,当我单击更新按钮时,特定的行字段必须自动填充到另一个页面中,用户可以在该页面中编辑它,然后更新它。现在,我如何获得特定的行数据(姓名、年龄、城市)并在不同页面的文本字段中自动填充。我认为实现这一点的最简单方法是使用WTForms在另一页面上填充表单 因此,首先使用编辑按钮将信息发送到另一个端点 <

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

我认为实现这一点的最简单方法是使用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')
从wtforms导入表单
班级编辑表格(表格):
name=TextField('name:',validators=[validators.required()])
email=TextField('年龄:',)
密码=文本字段('城市:')
columns=TextField('列:')
@app.route(“/edit/”)
def编辑(id):
#获取所选的行
db_data=db.getrow(id)
#初始化并填充表单
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
#提交表单时将调用此函数
if form.validate_on_submit():
#使用表单数据更新数据库
更新_data=form.data
更新数据库(更新数据)
闪存(“已成功更新行”)
返回呈现模板('edit.html',form=form,title='edit')

顺便说一句,这不是经过测试的,也可以在不进入单独页面的情况下完成,方法是将表格设置为只读文本字段,直到您按下编辑按钮,然后您可以就地编辑表格,并使用ajax调用来更新db

,只是为了澄清,您是立即将其转发到编辑页面,还是要存储信息以备将来使用?目前无需存储。我只需要转发他们立即编辑页面