Задать вопрос

Как рефрешить блоки с правами после 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 запрос, который делает авторизацию пользователя без перезагрузки страницы, как эти блоки рефрешнуть?
  • Вопрос задан
  • 153 просмотра
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Django: создание backend-приложений
    7 недель
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Python и Django: бэкенд-разработка
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
idegree
@idegree
Senior Workaround Developer
Костыльно:
  • Сделать Partial View, который возвращает только ul и его содержимое.
  • При успешной авторизации принимать эти данные.
  • Перезаписывать свойство innerHTML у блока, который содержит ваш ul.

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

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

Похожие вопросы