В случае равных не работает в Django шаблон - PullRequest
0 голосов
/ 31 марта 2020

Я могу получить эти два значения в шаблоне Django HTML: {{user.get_username}} {{post.user}}

Но когда я использую их для сравнения их значений в условии IF, это не работает.

 {%for post in post%}
              <a href="{% url 'post_detail' post.id %}"><h1>{{post.title}}</h1></a>
              <h2>{{post.content}}</h2>
              <p>{{post.date}}</p>
                {%if user.is_authenticated%}
                  <h3> {{ user.get_username }}</h3>
                  <h3> {{post.user}} </h3>
                    {%ifequal user.get_username post.user%}
                      <form action="{%url 'post_delete' post.id %}" method="POST">
                        {%csrf_token%}
                        <button type="submit">Delete</button>
                      </form>
                    {%endifequal%}
                {%endif%}
            {%endfor%}

Я также пытался {% if user.get_username == post.user%}, но это тоже не помогло.

Пожалуйста, помогите. Мне нужна кнопка удаления только против сообщений вошедшего в систему пользователя.

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

{% if user == post.user%} работал на меня. Похоже, что user.get_username не работал. Просто «пользователь» работал. Интересно, почему, хотя.

0 голосов
/ 31 марта 2020

Пробовали ли вы решение, предоставленное здесь:

сравнить две переменные в шаблоне jinja2

{% if user.get_username|string() == post.user|string() %}
...