Как изменить значение базового шаблона для разных пользователей в Flask - PullRequest
0 голосов
/ 10 июля 2020

Приложение Flask подключает пользовательскую таблицу со структурой

+---------+-------+--------+---------+
| usr     | psd   | role   | company |
+---------+-------+--------+---------+
| ab_tom  | ab    | viewer | AB      |
+---------+-------+--------+---------+
| cd_tom  | cd    | admin  | CD      |
+---------+-------+--------+---------+

Все страницы веб-приложения основаны на базовом шаблоне, и мне нужно, чтобы панель навигации показывала название компании на основе войдите в систему, независимо от того, насколько глубоко пользователь входит в приложение. Все страницы расширены от базовой тамплаты. Аргумент Jinja2, в который я помещаю переменную:

<a class="navbar-brand mr-4" href="{{url_for('select_function')}}">Time {{ titleBind }}Logo</a>

Функция select_function() показывает все значения из словаря. Есть ли способ изменить значение titleBind один раз и навсегда при входе в систему вместо того, чтобы каждый раз передавать значение, используя url_for()?

1 Ответ

0 голосов
/ 10 июля 2020

Вы можете сохранить его в объекте сеанса. Jinja2 может получить доступ к объекту сеанса в шаблоне как session.titleBind или session['titleBind']

Этот пример в flask docs показывает вам пример использования этого

Обновлено: я предполагал, что вы знаете, как работает объект сеанса, иначе вы можете прочитать в кратком руководстве

...