bluelog
bluelog copied to clipboard
edit_link 表单验证未通过时,无法在html表单上保留已做的修改
按照您在admin.py中原有的写法,所有的edit_xxx function在表单验证未通过时,已做的修改在html表单上都无法保留。 建议修改成以下写法:
@admin_bp.route('/link/<int:link_id>/edit', methods=['GET', 'POST'])
@login_required
def edit_link(link_id):
link = Link.query.get_or_404(link_id)
form = LinkForm(request.form)
if request.method == "GET":
form.name.data = link.name
form.url.data = link.url
else:
if form.validate_on_submit():
link.name = form.name.data
link.url = form.url.data
db.session.commit()
flash('Link updated.', 'success')
return redirect(url_for('.manage_link'))
return render_template('admin/edit_link.html', form=form)