В настоящее время я использую безопасность флеш-памяти и думаю изменить ее на флеш-пользователь, в основном для функции USER_REQUIRE_INVITATION, так как я бы предпочел не писать систему приглашений.
flask-user == 0.6.21
Структура базы данных выглядит аналогично, поэтому ее замена выглядит каплей.
Во-первых, у пользователя фляги есть int для идентификатора пользователя, тогда как при работе с флеш-безопасностью я использовал uuid.Это приводит к ошибкам:
ValueError: invalid literal for int() with base 10: '29d726e2-e160-4cbc-b0d8-befeca8bdeb6'
Это происходит из-за того, что uuid приводится к int (в коде пользователя колбы).
def setup_login_manager(self, app):
# Flask-Login calls this function to retrieve a User record by user ID.
# Note: user_id is a UNICODE string returned by UserMixin.get_id().
# See https://flask-login.readthedocs.org/en/latest/#how-it-works
@self.login_manager.user_loader
def load_user_by_id(user_unicode_id):
user_id = int(user_unicode_id)
#print('load_user_by_id: user_id=', user_id)
return self.get_user_by_id(user_id)
Я предпочитаю использовать uuid vs и int.Есть ли какой-нибудь хороший способ использовать флеш-пользователя с uuid?
Редактировать: Я использую текст для uuid
id = db.Column(
'id', db.Text(), default=lambda: str(uuid.uuid4()), primary_key=True)