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 %}