Показать часть шаблона, которая была предварительно отфильтрована

Я хотел бы узнать, каким наиболее питоническим способом можно получить следующий результат:

Допустим, у нас есть представление:

def myView(request):
    context = {}
    if something:
        context['A'] = "Whatever"
    else:
        context['B'] = "Whatever"
    return render(request, 'mypage.html', context)

В шаблоне, допустим, mypage.html у нас есть следующий сценарий:

{% if A %}
    A code
{% else %}
    B code
{% endif %}
<

Мой вопрос: если страница отображается с A code (например), можно ли через кнопку (при нажатии на эту кнопку) скрыть A code и показать B code вместо нее?

вам нужно передать оба контекста из представления.

Views.py:

def home(request):
    A = "sample text A"
    B = "sample text B"
    return render(request, 'home.html', context={'A': A, 'B' : B})

Шаблон:

{% extends 'base.html' %}
{% block body_block %}
    
   
        <p id="demo">
          {{ A }}
        </p>
        
        <button id='myBtn' type='click'>click</button>
        
        <script>
            document.getElementById("myBtn").addEventListener("click", function() {
              document.getElementById("demo").innerHTML = '{{ B }}';
            });
        </script>
        
        {% endblock body_block %}
Вернуться на верх