如何在if语句中使用我的简单自定义django模板标签?

时间:2019-03-17 11:36:41

标签: django django-templates django-template-filters

我正在尝试在Django模板中使用if的简单标签。据我所知,赋值标签已从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 个答案:

答案 0 :(得分: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 %}