当尝试使用Flask和Python3从我的SQLite 3数据库中的表单写入复选框状态时,出现以下错误。
400错误的请求:浏览器(或代理)发送了一个请求,要求 服务器无法理解
我的代码如下所示:
应用程序:
@app.route('/complete', methods=['POST'])
def complete():
todo = Todo.query.filter_by(id=request.form['name']).first()
todo.complete = True
db.session.commit()
HTML:
<form action="{{ url_for('complete') }}" method="POST">
<ul>
{% for todo in todos %}
<li><input name="{{ todo.id}}" type="checkbox">{{ todo.text }}</li>
{% endfor %}
</ul>
<input type="submit" value="Update Items">
</form>
已解决:
<li><input name="{{ todo.id}}" type="checkbox">{{ todo.text }}</li>
应该是
<li><input name=check value="{{ todo.id }}" type="checkbox">{{ todo.text }}</li>