Комментарии 10
О продолжение переводов! Спасибо, что переняли эстафету!
0
Продолжайте в том же духе
0
А есть смысл использовать объект g, если в любой момент (в том числе и в темлейтах) можно обратиться к current_user?
0
Кто будет читать эту статью, автор забыл упомянуть что в models.py были добавлены не сколько функций которые нужны для Flask-Login, например is_active() без них у вас не получится авторизоваться.
0
В переводе пропущен кусок кода и описание. что приводит к неработаюшему приложению.
Таким образом можно ставить под сомнение остальные части перевода.
Лучше использовать оригинал.
Below is our Flask-Login friendly User class (file app/models.py):
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
nickname = db.Column(db.String(64), index=True, unique=True)
email = db.Column(db.String(120), index=True, unique=True)
posts = db.relationship('Post', backref='author', lazy='dynamic')
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
try:
return unicode(self.id) # python 2
except NameError:
return str(self.id) # python 3
def __repr__(self):
return '<User %r>' % (self.nickname)
Таким образом можно ставить под сомнение остальные части перевода.
Лучше использовать оригинал.
Below is our Flask-Login friendly User class (file app/models.py):
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
nickname = db.Column(db.String(64), index=True, unique=True)
email = db.Column(db.String(120), index=True, unique=True)
posts = db.relationship('Post', backref='author', lazy='dynamic')
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
try:
return unicode(self.id) # python 2
except NameError:
return str(self.id) # python 3
def __repr__(self):
return '<User %r>' % (self.nickname)
0
Если у вас уже новый Flask, то если у вас возникает ошибка:
То надо в 2 файлах ( app/views.py, app/templates/base.html ) заменить:
на
Вот объяснение.
Ну и OpenID провайдер, например, https://openid.stackexchange.com/
if g.user is not None and g.user.is_authenticated():
TypeError: 'bool' object is not callable
То надо в 2 файлах ( app/views.py, app/templates/base.html ) заменить:
g.user.is_authenticated()
на
g.user.is_authenticated
Вот объяснение.
Ну и OpenID провайдер, например, https://openid.stackexchange.com/
0
Вообще рекомендую вторую книгу от ребят https://realpython.com/, так как раз о Фласке. Она будет проще для начала, чем эти уроки.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Мега-Учебник Flask, Часть 5: Вход пользователей