bluelog icon indicating copy to clipboard operation
bluelog copied to clipboard

edit_link 表单验证未通过时,无法在html表单上保留已做的修改

Open LiangZZZ123 opened this issue 5 years ago • 0 comments

按照您在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)

LiangZZZ123 avatar Dec 25 '19 18:12 LiangZZZ123