TemplateSyntaxError at /comments/10/ Не удалось разобрать остаток: '==comm.user.id' from 'request.user.id==comm.user.id'

После использования цикла for я получаю определенный комментарий и связанного с ним пользователя и хочу удалить комментарий, только если его написал этот пользователь. Как записать переменную внутри {% if ---%}.

Template error:
In template C:\Users\SHAFQUET NAGHMI\socialnetwork\socialapp\templates\socialapp\comment.html, error at line 27
   Could not parse the remainder: '==comm.user.id' from 'request.user.id==comm.user.id'
   17 :             <P>Please <a href="{% url 'login' %}">login</a> to add comment </P>
   18 : 
   19 :             {% endif %}
   20 :         </form>
   21 :         <h3>comments..</h3>
   22 : 
   23 :         {% for comm in comments %}
   24 : 
   25 :         <a class="comment-user" href="{% url 'profile' comm.user.username %}">{{comm.user}}</a>
   26 :         {{comm.comment}}
   27 :          {% if request.user.id==comm.user.id %} 
   28 :         <a class="delete" href="/delete_comment/{{post.id}}/{{comm.id}}/">Delete</a>
   29 :         {% endif %}
   30 :         <br><br>
   31 :         {% endfor %}
   32 :         <!--{{post}} {{comm.id}}-->
   33 : 
   34 :     </div>
   35 : </div>
   36 : {% endblock %}

Единственный способ использовать переменную - использовать тег with. Пример:

{% with name="World" %}     
<html>
<div>Hello {{name}}!</div>
</html>
{% endwith %}

Однако в вашем случае это может оказаться невозможным. Я бы скорее рекомендовал иметь пользовательское свойство для комментария, отправляемого как часть запроса, такое, что вы можете использовать comm.can_delete для проверки, может ли пользователь удалить комментарий. Добавьте свойство can_delete в бэкенд, где установите его значение request.user.id == comm.user.id так, как вам нужно.

Я не знаю, как выглядит ваш бэкенд, поэтому не могу сказать вам, как это сделать, но надеюсь, вы поймете мою мысль.

Возможно, вам не хватает пробелов?

{% if request.user.id == comm.user.id %}
Вернуться на верх