Обновить форму пароля с помощью приложения колбы - PullRequest
0 голосов
/ 31 марта 2019

Я изучаю тему веб-программирования с использованием Python. Мы научились пользоваться веб-фреймворком. Я работаю над проектом по этой теме, и я создал приложение, используя колбу. Я сделал форму регистрации и форму входа, которая работает с использованием SqlAlchemy для создания базы данных. Теперь я не могу понять, что когда я создаю пользователя, захожу и меняю его пароль с помощью формы обновления, я не могу найти способ войти в систему.

Я думаю, что решение будет состоять в том, чтобы хэшировать пароль, потому что моя форма входа в систему ищет хэшированный пароль, а мой вид обновления не создает его. Итак, мой вопрос, как я могу создать хешированный пароль в представлении user_change?

Извините за глупый вопрос, но я довольно новичок в этом, и я, кажется, заблудился в проводе.

1 Ответ

0 голосов
/ 31 марта 2019

Да, вы можете сделать это с помощью wtforms и sqlalchemy

class UpdateAccountForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired(), Length(min=2,max=20)])
    email = StringField('Email', validators=[DataRequired(), Email()])
    submit = SubmitField('Update')
@app.route("/account" , methods=['GET','Post'])
@login_required #This is from flask-login extension
def account():
    form = UpdateAccountForm()
    if form.validate_on_submit():
        current_user.username = form.username.data
        current_user.email = form.email.data
        db.session.commit()
        flash('Your account has been updated')
        return redirect(url_for('account'))
    elif request.method == 'GET':
        form.username.data = current_user.username
        form.email.data = current_user.email
    return render_template('account.html', title="Account", form=form)

Этот урок может вам сильно помочь https://www.youtube.com/watch?v=803Ei2Sq-Zs&

...