Что нужно сделать, чтобы условие {% if %} продолжало работать при переходе между страницами?

Для того, чтобы условие {% if %} продолжало работать при переходе между страницами в Django, вам необходимо использовать механизм передачи контекста в шаблоны.

Когда Django отображает страницу, он передает данные из представления (view) в шаблон (template) с помощью контекста. Контекст содержит переменные, которые вы определяете в представлении, и эти переменные могут быть использованы в шаблоне для выполнения условий и других операций.

Для того, чтобы условия работали пока пользователь переходит между страницами, вам нужно убедиться, что переменные, используемые в условиях, передаются в контексте при каждом запросе.

1. Определите переменные, которые будут использоваться в условии внутри вашего представления. Например, вы можете определить переменную is_admin, которая будет содержать информацию о том, является ли пользователь администратором:

def my_view(request):
    # Ваш код для определения значения переменной is_admin
    is_admin = True  # здесь просто для примера
    context = {'is_admin': is_admin}
    return render(request, 'my_template.html', context)

2. В шаблоне (my_template.html) вы можете использовать переменную is_admin в условных выражениях с помощью тега {% if %}:

{% if is_admin %}
    <p>Вы администратор</p>
{% else %}
    <p>Вы не администратор</p>
{% endif %}

Теперь, при каждом запросе к "my_template.html", переменная is_admin будет передаваться в контексте и условие {% if %} будет выполняться на основе значения этой переменной.

Если вы хотите сохранить значение переменной is_admin между различными запросами (например, при использовании форм), вы можете использовать сессии Django. Сессии предоставляют механизм для хранения данных пользователя между запросами. Вы можете сохранить значение is_admin в сессии в представлении:

def my_view(request):
    ...
    request.session['is_admin'] = is_admin
    ...

Затем, в шаблоне, вы можете получить значение переменной is_admin из сессии:

{% if request.session.is_admin %}
    <p>Вы администратор</p>
{% else %}
    <p>Вы не администратор</p>
{% endif %}

Но помните, что значение сессии может быть изменено пользователем или истечь по истечении времени сессии, поэтому вы должны проверить и обновлять значение сессии в представлении при необходимости.

Надеюсь, эта информация поможет вам использовать условия в Django при переходе между страницами.