nullnull
@nullnull

Как сохранить значение с одной страницы и использовать его везде для фильтров в бд на других страницах?

Добрый день!
У меня есть веб-приложение на 5 страниц. А так же есть авторизованный пользователь (использую модуль flask-login).

И у меня следующая проблема: на 3 из 5 страниц при загрузке контента требуется указать в БД фильтр, по которому будут грузится данные. Для фильтра необходимо передать параметр. Как заранее получить этот параметр, чтобы при загрузке страниц его отправить? Этот параметр можно установить на странице (p_1) или где-то в ином месте.
Прикладываю небольшой рисунок для понимания ситуации визуально.

6053107435e48220426880.png

Есть такие идеи\варианты, не знаю что из этого хорошее:
1. На странице p_1 устанавливать этот параметр и записывать его в БД в поле к юзеру.
При загрузке страницы вытаскивать это значение и отправлять дальше на фильтрацию.
Из минусов: часто менять такой параметр - это хорошо или не очень? Не понятно. И так же доставать его из БД, а это +1 фильтр по пользователям.

2. На странице p_1 устанавливать этот параметр и записывать его в БД в поле к юзеру.
Далее страницы p_2, p_3 и p_4 открывать по ссылке с форматом: link/param/link
Но мне кажется это более усложнённый вариант 1.

3. Добавить переменную к пользователю.
Не знаю как это сделать. Хранить на сервере? Хранить в куках? И её использовать.

4. Установить в header выпадающий список и в выпадающем установить значения параметра (чтобы пользователь мог выбирать).
Где хранить значение это списка? Как сначала грузить header, чтобы потом контент из БД?

5. Не использовать параметр сейчас, сначала получать весь контент, а потом уже применять к нему фильтр и фильтровать и отображать контент.
У меня разработка простая, фронт на беке худо-бедно генерируется, с jinja. Не лучший подход, наверное, но на полноценный фронт ещё нет знаний, а работать надо уже сейчас.

Какой способ хороший или ещё какой-то? Как лучше сделать?
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
@pcdesign
3. Добавить переменную к пользователю.
Не знаю как это сделать. Хранить на сервере? Хранить в куках? И её использовать.


На мой взгляд это самый простой путь.
from flask import session

session['my_var'] = 123
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы