示例#1
0
def profile():
    user = User.query.filter(User.id == current_user.id).first()
    form = ProfileForm()
    form.set_languages_choice()

    if request.method == 'POST':
        if form.validate():
            # update user
            form.populate_obj(user)

            if form.password.data and \
                form.password.data == form.password_conf.data:
                user.set_password(form.password.data)

            db.session.commit()

            flash('User successfully updated', 'success')
            return redirect(url_for('user_bp.profile'))
        else:
            return render_template('profile.html', user=user, form=form)

    if request.method == 'GET':
        form = ProfileForm(obj=user)
        form.set_languages_choice()
        return render_template('profile.html', user=user, form=form)