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