我有一个自定义模板标签,内容如下:
@register.simple_tag
def getLikesByUser(likedFilter, loggedInUserID):
likedPeople = likedFilter
personLoggedIn = loggedInUserID
for personLiked in likedPeople:
if personLoggedIn == personLiked.id:
return True
return False
这将在模板中返回true或false,是否可以将返回值设置为模板中的变量?
这是这样的呼叫方式:
{% getLikesByUser Post.likes.filter request.user.id %}
我想在一个变量中使用它,这样我可以进一步检查是否为true,否则为false。
谢谢
答案 0 :(得分:1)
我们有with
可以在Django中设置变量。因此,您可以这样做:
{% load getLikesByUser %}
<body>
{% with likes_by_user=Post.likes.filter|getLikesByUser:request.user.id %}
{% if likes_by_user %}
# Do sthg
{% endif %}
{% endwith %}
</body>