Как рефрешить блоки с правами после Ajax запросов авторизации?

Всем привет

На странице есть ряд элементов, которые имеют такой вид:

{% if user.is_authenticated %}
    <li><a href="{% url "profile" user.id %}">Профиль</a></li>
    <li><a href="{% url "logout" %}">Выйти</a></li>
{% else %}
    <li><a href="{% url "login" %}">Войти</a></li>
    <li><a href="{% url "registration" %}">Регистрация</a></li>
{% endif %}


Т.е. вывод данных зависит от авторизации пользователя.

Я пишу ajax запрос, который делает авторизацию пользователя без перезагрузки страницы, как эти блоки рефрешнуть?
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 1
idegree
@idegree
Senior Workaround Developer
Костыльно:
  • Сделать Partial View, который возвращает только ul и его содержимое.
  • При успешной авторизации принимать эти данные.
  • Перезаписывать свойство innerHTML у блока, который содержит ваш ul.

Не костыльно:
Судя по тому, что вы хотите логин, без перезагрузки страницы - использовать на Front-End какой-нибудь JS-фреймворк (Ангуляр, Реакт, Вуе, Эмбер).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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