Вызов метода для модели из шаблона - PullRequest
8 голосов
/ 05 октября 2010

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

Это мой код

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

Ошибка происходит во второй строке. is_story_liked проверяет, понравился ли пользователь сюжет или нет. Если нет, то я бы написал тот же тег привязки, но с другим классом.

Я немного озадачен этим. Я пытаюсь вывести разные имена классов: если пользователь вошел в систему, если пользователь не вошел в систему и если пользователь "понравился" или не "понравился" статья / история.

1 Ответ

21 голосов
/ 05 октября 2010

Вызовы методов в шаблонах django работают, только если у них нет аргумента (например, {% if request.user.is_authenticated %}).Вам нужно будет либо включить эту функциональность в представление, отображающее этот шаблон, либо поместить эту функцию в пользовательский тег шаблона .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...