но на страницу flask-а выводиться {"message":null,"status":"success"} Помогите, в чем ошибка?
Дополнительно:
Это стандартные сессии на cookies или server-side на расширении flask-session?
Сергей Горностаев, server-side (from flask import session)
Lord_Kin, ваш импорт - это как раз client-side сессия на куках. Убедитесь, что клиент куки сохраняет и отправляет.
Сергей Горностаев, Очень был бы благодарен, если бы Вы предоставили ссылки на необходимый материал, к сожалению мне тяжело найти нечто стоящие самому, если можете, то объясните пожалуйста как убедиться в этом. Заранее спасибо!
Lord Kin, https://flask.palletsprojects.com/en/3.0.x/ Если клиентом выступает браузер, то открыть DevTools, посмотреть в соответствующие вкладки cookie, а на вкладке Network посмотреть, что принимается в http-ответах и передаётся в http-запросах. Если curl например, соответствующими ключами. Если код, то надо смотреть документацию к используемой в нём http-библиотеке.
Сергей Горностаев, хорошо, спасибо, напишу по результатам
Сергей Горностаев, чето у меня не находит куки, что делать?
вот, что-то нашел
Lord Kin, посмотрите ещё заголовки запроса. Похоже, с Бэконом все нормально, ваш браузер просто не сохраняет куки.
- я слегка не понимаю, куда тыкать?)
Сергей Горностаев, вот
Lord Kin, ваш браузер почему-то не сохраняет куки. Проблема в этом.
Сергей Горностаев, а как это исправить?
Сергей Горностаев, а нужно ли объявлять cookie через import flask...?
Lord Kin, исправлять надо на стороне клиента, как я уже сказал, с кодом Python всё в порядке. Ну и держать в голове, что у среднего web-приложения тысячи клиентов, львиная доля которых знает, как такую проблему исправлять , не больше вашего.
Сергей Горностаев, могут ли быть проблемы с session из-за написания фронтенда на фреймворке vue (мы проверяли работу session без vue и все отрабатывало отлично)
Lord Kin, судя по выдаче Google на запрос "Vue cookie", может.
Сергей Горностаев, а можете помочь подробнее, я понимаю, что наверно не очень правильно беспокоить, но мы уже давно не можем решить эту проблему
Lord Kin, я не фронтендер, рецепта решения проблемы на фронте дать не смогу при всём желании. Но я вбил в Google запрос "vue cookie" и получил кучу результатов о том, как такую проблему люди решали. Уверен, вы сможете это повторить.
, а Вы на 100% уверены, что проблема именно на frontend-е, просто vue cookie - это плагин для написания бэкенда, тут, по идее, он не причем?
Сергей Горностаев,
Lord Kin,
а Вы на 100% уверены, что проблема именно на frontend-е
Я на 100% уверен только, что дефолтная реализация сессий во Flask сделана на cookie, поэтому проверять надо с клиентской стороны. Ну и судя по этому
мы проверяли работу session без vue и все отрабатывало отлично
проблема именно во фронте.
просто vue cookie - это плагин для написания бэкенда, тут, по идее, он не причем?
Так я и не про плагин.
Сергей Горностаев, спасибо, а про что Вы?)
Lord Kin, я про огромное количество статей и вопросов "как работать с cookie в vue", которые вываливаются по поисковому запросу "vue cookie". И кстати, я погуглил, плагин вполне себе фронтовый, не понимаю, где вы там бэкенд увидели.
Сергей Горностаев, хм, значит плохо читал, спасибо за ответ)
Сергей Горностаев, я вроде бы все починил, проблема была в cors, теперь session отображается в куки-файлах клиента, но при этом session.get('id'), вес время возвращает мне None, я устанавливал `app.config['SESSION_TYPE'] = 'filesystem'`.
я вроде правильно, как надо, устанавливал сессию `session['id']=id_s`, но при этом в декораторе, в котором я ее объявляю, он возвращает id, а вот в другом декораторе - None
Нужно решить такую задачу?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Для того чтобы понять, почему пропадает сессия в вашем Flask приложении, следует рассмотреть несколько возможных причин:
1. Неправильная настройка секретного ключа: Flask использует секретный ключ для подписи и шифрования данных сессии. Если секретный ключ изменяется каждый раз при перезапуске приложения, то сессия будет теряться. Убедитесь, что вы устанавливаете секретный ключ в конфигурации приложения и не изменяете его.
2. Неправильная конфигурация кэширования: Если вы используете какой-то вид кэширования (например, встроенный кэш Flask или кэш Redis), убедитесь, что кэш не замещает данные сессии. Проверьте настройки кэширования и убедитесь, что сессионные данные не сохраняются там.
3. Проблемы с браузером или сетью: Иногда сессия может теряться из-за проблем с браузером или сетью. Убедитесь, что у вас нет блокировщиков рекламы или сторонних расширений, которые могут вмешиваться в передачу данных сессии.
4. Неправильная настройка сессии: Проверьте, что вы правильно настраиваете сессию в вашем приложении Flask. Убедитесь, что вы используете правильные методы для установки и получения данных сессии.
from flask import session
# Установка данных сессии
session['key']='value'# Получение данных сессии
value = session.get('key')
from flask import session
# Установка данных сессии
session['key'] = 'value'
# Получение данных сессии
value = session.get('key')
Если после проведения всех этих проверок проблема с пропаданием сессии все еще остается, попробуйте создать минимальный пример кода, который воспроизводит проблему, и опубликуйте его на форуме сообщества Flask для получения дополнительной помощи.
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Для того чтобы понять, почему пропадает сессия в вашем Flask приложении, следует рассмотреть несколько возможных причин:
1. Неправильная настройка секретного ключа: Flask использует секретный ключ для подписи и шифрования данных сессии. Если секретный ключ изменяется каждый раз при перезапуске приложения, то сессия будет теряться. Убедитесь, что вы устанавливаете секретный ключ в конфигурации приложения и не изменяете его.
app = Flask(__name__) app.secret_key = 'your_secret_key'
2. Неправильная конфигурация кэширования: Если вы используете какой-то вид кэширования (например, встроенный кэш Flask или кэш Redis), убедитесь, что кэш не замещает данные сессии. Проверьте настройки кэширования и убедитесь, что сессионные данные не сохраняются там.
3. Проблемы с браузером или сетью: Иногда сессия может теряться из-за проблем с браузером или сетью. Убедитесь, что у вас нет блокировщиков рекламы или сторонних расширений, которые могут вмешиваться в передачу данных сессии.
4. Неправильная настройка сессии: Проверьте, что вы правильно настраиваете сессию в вашем приложении Flask. Убедитесь, что вы используете правильные методы для установки и получения данных сессии.
from flask import session # Установка данных сессии session['key'] = 'value' # Получение данных сессии value = session.get('key')
Если после проведения всех этих проверок проблема с пропаданием сессии все еще остается, попробуйте создать минимальный пример кода, который воспроизводит проблему, и опубликуйте его на форуме сообщества Flask для получения дополнительной помощи.