Мы сохранили аутентификацию пользователя (модель пользователя) с помощьюКак получить текущий объект модели в термосе
@app.route('/login', methods=['GET', 'POST'])
def login():
...
try:
current_user = User.query.filter(School_Login.mail == form_mail).first()
if user.mail == form_mail and user.password == form_pass:
...
У нас есть объект current_user, который называют свойства пользователя, прошедшей аутентификацию как current_user.name, current_user.surname.
Вот наша модель данных:
class User(db.Document):
mail = db.StringField()
pass = db.StringField()
name = db.StringField()
...
Вот проблема начинается: Мы создали приборную панель пользователя, который показывает имя пользователя, фамилию и т.д. Мы хотим, чтобы получить доступ к объекту, который мы создали в функции входа какое имя current_user, но мы не можем получить доступ к current_user из функции user_dashboard. Мы также знаем, что мы не можем получить доступ к локальным переменным из функции, но какой момент мы пропустили? Каков правильный способ решения этой проблемы?
@app.route('/user-dashboard')
@login_required
def user_dashboard():
name = current_user.name
surname = current_user.surname
return render_template('user-dashboard.html', name=name, surname=surname)
Мы также рассмотрели применение контекста, bluprints, но нет ни одного примера кода с MongoAlchemy с авторизаций пользователя.
Возможного дубликат [Как использовать g.user глобального I n flask] (http://stackoverflow.com/questions/13617231/how-to-use-g-user-global-in-flask) – Suever
Кажется, вы используете 'flask-login'. Вы действительно назовете 'login_user' в своем браузере? Без этого вы не сможете использовать прокси-сервер 'current_user'. – Wombatz
Нет, я не использовал расширение для флажков. Я реализовал с использованием основных сессий store/pop – mathema