我正在Flask中构建一个网站。我做了一个表单,它接受输入并从数据库中呈现记录。我需要帮助处理对从数据库中检索到的记录所做的任何更改。例如,如果用户在星期一输入1pm,星期日输入2pm。表单将处理输入并显示它。但如果我想改变下午1点到3点,我不能。它允许我进行内联编辑,但不会将更改提交到数据库。 以下文件如下:如何提交到数据库的内联编辑
schedule.html:
{% for r in result %}
<div class="form-inline">
<form class="form-schedule" method="post" action="/schedule/update">
<div class="form-group">
<input type="text" id="inputMonday" name="monday" class="form-control" value="{{ r.monday }}" required autofocus>
<div class="form-group">
<input type="text" id="inputSunday" name="sunday" class="form-control" value="{{ r.sunday }}" required autofocus>
</div>
{% endfor %}
</br>
<button class="btn btn-lg btn-primary" type="submit">Save</button>
</form>
views.py:
@home.route('/schedule')
@login_required
def schedule():
"""
Render the schedule template on the /schedule route
"""
result = Schedule.query.filter_by(persons_id = current_user.id)
return render_template('home/schedule.html', title="Schedule", result=result)
@home.route('/schedule/update', methods=['POST', 'GET'])
@login_required
def schedule_update():
"""
Process the schedule then render schedule route
"""
monday = request.form['monday']
sunday = request.form['sunday']
persons_id = 1
employees_id = 1
days = Schedule(monday=monday, sunday=sunday, persons_id=persons_id, employees_id=employees_id)
db.session.add(days)
db.session.commit()
return redirect(url_for('home.schedule'))
它的工作原理。我可以在日程表中更改一行!我要添加一些代码来生成更多的行并进行调整以适应它们。但是非常感谢你。在我即将失去对StackOverflow的信心时,你给了我一个很好的答复。 – Eden
@伊登 - 请接受这个答案。 – Martlark