Estoy tratando de llamar a un método en un modelo desde una plantilla y he llegado a la conclusión de que esto no se puede hacer.Llamar a un método en un modelo desde una plantilla
Este es mi código
{% if request.user.is_authenticated %}
{% if a_story.is_story_liked(request.user.id) %}
<a class="story_like" data-id="{{ a_story.id }}" href="#">Like</a>
{% endif %}
{% else %}
<a class="story_like_login" data-id="{{ a_story.id }}" href="#">Like</a>
{% endif %}
El error se produce en la segunda línea. "is_story_liked" comprueba si el usuario ha "querido" una historia o no. De lo contrario, escribiría la misma etiqueta de anclaje pero con una clase diferente.
Estoy un poco confundido con este. Estoy tratando de dar salida a diferentes nombres de clase: si el usuario está conectado, si el usuario no está conectado y si el usuario ha "querido" o no "me gusta" un artículo/historia.
Gracias por la sugerencia ... las etiquetas de plantilla funcionan muy bien en este escenario. – iJK
user.is_authenticated es en realidad un atributo y no un método. https://docs.djangoproject.com/en/2.0/ref/contrib/auth/#django.contrib.auth.models.User.is_authenticated – makerGeek