Почему шаблон django, если оператор работает неправильно?

#django #django-templates

#django #django-шаблоны

Вопрос:

Я использую Django 3.1.0, и у меня проблема с приведенным ниже оператором if.

 {% if group == "TEACHER" %}
        {% include "staticPages/components/teacher_dash.html" %}
{% else %}
        {% include "staticPages/components/student_dash.html" %}
{% endif %}
  
 #views.py
def dashboard_page(request):
    if request.user.is_authenticated:
        group = request.user.groups.objects.first().name
        context = {
            'group':group,
        }
        return render(request, 'staticPages/dashboard.html', context)
    else:
        return redirect('/404/')
  

group переменная сохраняла имя user.Groups.objects.first().name в виде строки.

Пока переменная group равна TEACHER , она запускает четвертую строку вместо второй строки.

Я попытался распечатать group переменную и скопировать ее в условие if, но это не сработало.

Каждый ответ будет оценен по достоинству.

Комментарии:

1. group вероятно, это не строка, а Group объект? Можете ли вы поделиться тем, что group именно (а также его моделью)?

2. Я добавил то, что хранится в group, в текст вопроса

Ответ №1:

Спасибо всем, кого я решил, добавив stringformat в свой шаблон.