不能使用request.form.get获取flask中的表单表内容

时间:2015-02-12 08:53:22

标签: jquery python forms flask flask-wtforms

网页有一个表格和内部表格:

<form method="post" action="{{ url_for('data.dataupdate',username=current_user.name,tablename=ddatatablename) }}">
<table class="table table-striped" id="table1" name="datatable">
<thead>
<tr>
<td bgcolor="#dcdcdc"><input type=checkbox name=select_all value="all"  onclick="CheckAll(this.form)"></td>
</tr>
</thead>
{% if ddatas_perpage %}
<tbody name="datas">
{% for item in ddatas_perpage %}
<tr name="table">
<td><input type=checkbox name=select value={{ item.sn }} ></td>
<td class="text-info" name="tabletd" value={{ item[col] }} ><textarea>{{ item[col] }}</textarea></td>

view_function是:

@data.route('/datas/edit/<username>/<tablename>/updatesuccess',methods=['GET','POST'])
def dataupdate(username,tablename):
    selected = request.form.getlist("select")
    ttt = request.form.getlist('datatable')
    tttt = request.form.get('datatable')
    ttttt = request.form.getlist('td')
    tttttt = request.form.get('tablename')
    datas = request.form.get("datas")
    tables = request.form.get("table")
    tabletds = request.args.get("tabletd")

    f = request.form
    flash("#######################",f.keys())
    for key in f.keys():
        flash(key)
        for value in f.getlist(key):
            flash(key+":"+value)
    flash(ttt)
    flash(tttt)
    flash(ttttt)
    flash('############',tttttt)
    flash(selected)
    flash(datas)
    flash(tables)
    flash(tabletds)
    cases = UserCase.query.filter_by(username=username).all()
    session['loginname']=username
    if cases is not None:
        return render_template('data/usercase.html', ccases=cases)

当我提交表单时,只有复选框可以使用request.form.getlist(“select”)获取值,但表中的其他内容为None。

为什么它没有得到表内容但复选框? 我用user request.form.get或request.args.get得到相同的结果,特别是使用request.form获取键只包含复选框键[select]。 我想获取Web表格内容并更新到数据库表。我如何在Flask中进行操作?

1 个答案:

答案 0 :(得分:2)

似乎没有任何其他表单输入,除了复选框您提供了name属性。如果您发现自己想要从textarea获取值,请尝试在其上指定名称。