在我的html中,我想将此值发送到我的过滤器,但出现此错误:
以int()为基数为10的int()无效文字出现ValueError:“ {{request.user.id}}”
我的HTML:
<span><i{% if post|liked:"{{request.user.id}},{{post.id}}" %} class="fa fa-heart pointer" {% else %} class="fa fa-heart-o pointer" {% endif %} aria-hidden="true"></i> <span class="text-dark">{{ post.likes.count }}</span>
我的筛选器:
@register.filter()
@stringfilter
def liked(value, args):
values = args.split(',')
user_id, post_id = values
user = User.objects.get(id=user_id)
post = Post.objects.get(id=post_id)
is_liked = post.likes.get(id=user_id)
if is_liked != None:
return True
else:
return False
感谢您的回答。
这只是模板中user.id
没有request.user.id
的内容:
<span><i{% if post|liked:"{{user.id}},{{post.id}}" %} class="fa fa-heart pointer" {% else %} class="fa fa-heart-o pointer" {% endif %} aria-hidden="true"></i> <span class="text-dark">{{ post.likes.count }}</span>
由于过滤器不variable
作为variable
。因此,这可能是这样的:
{% with args=user.id|add:", "|add:post.id %}
<span><i{% if post|liked:args %} class="fa fa-heart pointer" {% else %} class="fa fa-heart-o pointer" {% endif %} aria-hidden="true"></i> <span class="text-dark">{{ post.likes.count }}</span>
{% endwith %}
看到 with
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句