烧瓶形式给出了400个不良要求

时间:2015-12-10 12:27:57

标签: python flask

正如标题所说,我的表格给了我一个400错误的请求错误。我不知道为什么我会收到这个错误,我认为在开始时我的ssid会有所改变,因为我也在post-method中使用它作为参考。这就是为什么我做了一个隐藏字段发布ssid-info并从request.form获取它,但它会导致相同的错误。

这是我的HTML代码:

<link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">

{% from "_formhelpers.html" import render_field %}

<center>
<table border='0' class='content'>
<form action="/edit_guest/" method="POST" enctype="multipart/form-data">
{% for row in rows %}

<tr>
<td>Cardnumber:</td><td>{{row[12]}}</td>
</tr>
<tr>
<td>SSID:</td><td>{{row[16]}}</td>
</tr>
<tr>
<td>Edited by:</td><td>{{row[19]}}</td>
</tr>
<tr>
<td>Firstname:</td><td><input type='text' name='firstname' value='{{row[1]}}'></td>
</tr>
<tr>
<td>Lastename:</td><td><input type='text' name='lastname' value='{{row[2]}}'></td>
</tr>
<tr>
<td>Company:</td><td><input type='text' name='company' value='{{row[3]}}'></td>
</tr>
<tr>
<td>Contactperson :</td><td><input type='text' name='contact' value='{{row[4]}}'></td>
</tr>
<tr>
<td>Phonenumber:</td><td><input type='text' name='phone' value='{{row[6]}}'></td>
</tr>
<tr>
<td>Comment:</td><td><textarea name='comment'>{{row[15]}}</textarea></td>
</tr>
<tr>
<td colspan="2"><input type="hidden" name="ssid" value="{{row[16]}}"><input type="submit" name="save" value="Save"></td>
</tr>
{%endfor%}

</form>
</table>
</center>

以下是导致错误的PythonScript部分:

@app.route('/edit_guest/', methods=["GET","POST"])
def Edit_Guest():

try:

    ssid = request.args['ssid']
    c, conn = connection()
    c.execute("SELECT * FROM accesslog WHERE ssid=(%s)",(ssid))
    rows = c.fetchall()

    if request.method == "POST":
        ssid = request.form['ssid']
        c.execute("UPDATE accesslog SET firstname=(%s),lastname=(%s),company=(%s),contact=(%s),phone=(%s), comment=(%s), edit=(%s) WHERE ssid=(%s)",(
            request.form['firstname'],
            request.form['lastname'],
            request.form['company'],
            request.form['contact'],
            request.form['phone'],
            request.form['comment'],
            session['user'],
            ssid))
            conn.commit()
            conn.close()
            return redirect(url_for('/DashBoard/'))
        conn.close()
        return render_template('edit_Guest.html',rows=rows)

    except Exception as e:
        return (str(e))
    return render_template('edit_Guest.html',rows=rows)

有人能看到导致此错误的原因吗?

解决: 我通过将formrequest发送到另一个页面来解决它,然后在那里进行sql操作。 Flask debugingtoolbar向我显示没有后期数据。

0 个答案:

没有答案