Форум программистов, компьютерный форум, киберфорум
Python: Flask
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
11 / 11 / 1
Регистрация: 24.11.2015
Сообщений: 359

Возврат на защищенную страницу Flask

23.02.2018, 23:06. Показов 2220. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть работающее веб-приложение с возможностью входа в личный кабинет.

Картинка 1

Когда пользователь вводит корректный логин и пароль, то при помощи вот этой функции:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    @app.route('/personal_account', methods=['POST'])
    def welcome():
        login = request.form['login']
        password = request.form['password']
        if not validate_user(login, password):
            return jsonify({'success': False})
    
        user = User()
        user.id = login
        login_user(user)
        data = get_user_data(login)
        # g.login = login
        trigger_logged_id()
        return render_sidebar_template("personal_account.html", data=data)
пользователь может попасть в личный кабинет. В данный момент, когда это случается, на сайте появляется дополнительная кнопка 'Personal account'.

Картинка 2

Управление сессией логинизации/разлогинизации происходит при помощи расширения flask-login.

Я хочу прикрутить новую фичу, идея которой заключается в следующем: если пользователь ходит по сайту, по разным html страницам, он может в любой момент при желании вернуться в свой личный кабинет
Например, будучи на странице About page вернуться в personal account.

Картинка 3

В данный момент, если юзер уходит и потом нажимает на Personal account, то получает ошибку `Method not allowed`. Я не знаю, как это имплементировать, потому что переход на страницу личного кабинета - это POST запрос, и кроме того переход туда защищен функцией `validate_user()`.

Можно было бы сделать глобальный словарь, куда сохранялся бы каждый пользователь, который вошел, но это не кажется оптимальным решением, в этом случае придется все время вызывать функцию `get_user_data()`.

Как сделать корректный возврат в личный кабинет в моем случае, имея ввиду, что сервер должен выдерживать много запросов в минуту?
Миниатюры
Возврат на защищенную страницу Flask   Возврат на защищенную страницу Flask   Возврат на защищенную страницу Flask  

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.02.2018, 23:06
Ответы с готовыми решениями:

Flask, requests. обновить страницу
Крутится локальный сервер. Пользователь из GUI может вносить некоторые изменения в html файлы, которые после обновления страницы...

Flask и возврат информации в selectfield
Здравствуйте. Имеем Wtf форму с несколькими selectfield. Для отображения информации при загрузке страницы использую запрос в базу и...

Передать данные на страницу и вернуть (flask)
Добрый день, в ветке не смогли разобраться. Поставлю вопрос по другому. 1. есть данные key1 и key2 2. надо передать их на другой...

1
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
24.02.2018, 18:12
Zigfrid, у тебя проблема возникла потому что ты не немного не правильно сделал. У тебя для авторизации пользователя должна быть отдельная view для авторизации (на пример /login) и отдельная view для отображения личного кабинета (если хочешь, чтобы пользователь попадал в личный кабинет после авторизации, то можешь в /login вызывать редирект, на страницу с личными кабинетом и все). Регулировать доступ к приватным частям сайта сможешь при помощи декоратора login_required.

Примеры и детали есть в документации https://flask-login.readthedocs.io/en/latest/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2018, 18:12
Помогаю со студенческими работами здесь

Flask показать страницу после выполнения потока
Задумался над тем как поступить. Если идет например долгая обработка функции то страница как бы зависает, решил сделать на основе потока,...

Возврат на предыдущую страницу
Добрый день! Очень нужна ваша помощь! Проблема заключается в том, что при возврате с определенного товара обратно на страницу с...

Возврат на стартовую страницу
Есть форма обратной связи. После отправки данных появляется пустая белая страница с сообщением( ваша заявка принята, пожлст перезагрузите ...

Возврат с сайта на страницу
Добрый вечер! Подскажите, пожалуйста, можно ли средствами html задать цикл возврата на мою страницу через 10 минут, при том, что...

Возврат на пред. страницу
Всем доброе время суток. Суть проблемы. после авторизации пользователя он попадает на страницу auth.php. там есть меню. заходит в 1 с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru