Masonite - TypeError: Невозможно неявно преобразовать объект 'Undefined' в str - PullRequest
0 голосов
/ 04 мая 2018

Я использую фреймворк Masonite и получаю сообщение об ошибке при регистрации пользователя после запуска команды craft auth в Masonite 1.6. Конец трассировки стека выглядит так:

{% for i, line in enumerate(open(stack.filename)) %}

TypeError: Can't convert 'Undefined' object to str implicitly

1 Ответ

0 голосов
/ 04 мая 2018

Это было исправлено в Masonite 1.6.3. Проблема заключалась в том, что была ошибка с паролями, не декодируемыми обратно в строку после хеширования с помощью bcrypt. Очевидно, MySQL преобразует байты в строку перед вставкой в ​​базу данных, а Postgres и SQLite - нет.

Обновление

Исправлено обновление Masonite с помощью команды:

pip install --upgrade -r requirements.txt

для обновления до последней версии (поэтому craft auth не создаст контроллер с этой ошибкой снова)

Patch

и для исправления текущего приложения, изменив ~ строку 20 в вашем RegisterController на:

password = bytes(bcrypt.hashpw(
    bytes(Request.input('password'), 'utf-8'), bcrypt.gensalt()
)).decode('utf-8')
...