ValueError: недопустимая соль в колбе

Я все еще нахожусь на этапе обучения, и у меня возникла эта проблема при просмотре руководств. Я не понимаю, почему я получаю эту ошибку ValueError: Invalid salt

Полный код ошибки:

Файл C: Users Aparichit AppData Local Programs Python Python39 Lib site-packages flask app.py, строка 1515, в full_dispatch_request rv = self.handle_user_exception (e) Файл C: Users Aparichit AppData Local Programs Python Python39 Lib site-packages flask app.py, строка 1513, в файле full_dispatch_request rv = self.dispatch_request () C: Users Aparichit AppData Local Programs Python Python39 Lib site-packages flask app.py, строка 1499, в dispatch_request return self.ensure_sync (self.view_functions [rule.endpoint]) (** req.view_args) Файл C: Users Aparichit Desktop NoViewsIndia noViews views.py, строка 46, на странице входа в систему, если попытка_пользователя и bcrypt.check_password_hash (попытка_пользователя.password_hash, попытка_пароля): Файл C: Users Aparichit AppData Local Programs Python Python39 Lib site- packages flask_bcrypt.py, строка 193, в check_password_hash вернуть safe_str_cmp (bcrypt.hashpw (пароль, pw_hash), pw_hash) Файл C: Users Aparichit AppData Local Programs Python Python39 Lib site-packages bcrypt_ <�эм > init _.py, строка 105, в hashpw поднять ValueError (недопустимая соль)

Мой model.py код:

class User(db.Model, UserMixin): name = db.Column(db.String(20), nullable=False) userName = db.Column(db.String(15), primary_key=True, nullable=False) password_hash = db.Column(db.String(20), nullable=False) @property def password(self): return self.password @password.setter def password(self, plain_text_password): self.password_hash = bcrypt.generate_password_hash(plain_text_password).decode(‘utf-8’)

И views.py

@app.route(‘/admin_login’, methods=[‘GET’, ‘POST’]) def login_page(): login_form =Login() if login_form.validate_on_submit(): attempted_password = login_form.pWord.data attempted_user = User.query.filter_by(userName = login_form.uName.data).first() print(f’Route Username is {login_form.uName.data}’) print(f’Route User is {attempted_user}’) print(f’ Route Password is {attempted_password}’) print(f’Route Hashed Password is {attempted_user.password_hash}’) if attempted_user and bcrypt.check_password_hash(attempted_user.password_hash, attempted_password): login_user(attempted_user) flash(f’You have successfully logged in, {attempted_user.name}’) else: flash(‘Invalid Username and Password’) return render_template(‘admin_login.html’, loginForm=login_form)

И form.py

class Login(FlaskForm): uName = StringField(label=’User Name’) pWord = PasswordField(label=’Password’) submit = SubmitField(label=’Login’)

И пароль, который сохраняется: Hassed Password

Источник: ledsshop.ru

Стиль жизни - Здоровье!