Как использовать мой простой пользовательский тег шаблона django с инструкцией if?

#django #django-templates #django-template-filters

#django #django-templates #django-template-filters

Вопрос:

Я пытаюсь использовать мой простой тег с if в шаблоне django.Насколько я знаю, тег присваивания удален из Django 2.0. Мой тег шаблона:-

 @register.simple_tag
def channelpostlike(postid,userid):
  print(userid)
  postresult=ChannelPost.objects.get(id=postid)
  if postresult.user_like.filter(id=userid).exists():
    return True
  else:
    return False
  

Я хочу использовать его как:-

 {%if channelpostlike c.id request.user.id %}
  

Ответ №1:

Документы:

assignment_tag Устарел с версии 1.9 simple_tag теперь может сохранять результаты в переменной шаблона и должен использоваться вместо этого.

Итак, вы можете использовать simple_tag вот так:

 # You can access the result as something anywhere you like
{% channelpostlike c.id request.user.id as something %}
{% if something %}
    <p>Something ...</p>
{% endif %}