Python 如何将Django模板中的上下文变量与SQL ID进行比较?
我正在创建一个愿望列表类型的站点,其中突出显示了用户最后一次更改的行。然而,我在这样做时遇到了麻烦,因为显然在上下文变量上使用“==”,对象的ID没有返回true,尽管它们看起来都一样 例如,这是我正在进行的Python 如何将Django模板中的上下文变量与SQL ID进行比较?,python,django,templates,Python,Django,Templates,我正在创建一个愿望列表类型的站点,其中突出显示了用户最后一次更改的行。然而,我在这样做时遇到了麻烦,因为显然在上下文变量上使用“==”,对象的ID没有返回true,尽管它们看起来都一样 例如,这是我正在进行的render调用: def wishlist(request): ... user_change = request.COOKIES.get('voted_or_added', False) return render(request, 'xbox_wishlist/
render
调用:
def wishlist(request):
...
user_change = request.COOKIES.get('voted_or_added', False)
return render(request, 'xbox_wishlist/wishlist.html', { 'user_change': user_change, })
然后在我的模板中,我有:
...
<tbody>
{% for game in ranked_wishlist %}
{% if user_change == game.id %}
<tr style="background: #80FF80;">
{% else %}
<tr>
{% endif %}
...
。。。
{排名中游戏的%u愿望列表%}
{%if user_change==game.id%}
{%else%}
{%endif%}
...
我试着显示{{game.id}
和{{user\u change}}
,它们都在正确的位置显示相同的数字,但是if
语句的谓词似乎永远不会计算为True。我试过用中的替换==
,我试过交换他们的位置,我试过了所有方法,但似乎没有任何效果
有什么想法吗?
HttpRequest.COOKIES
包含所有cookie的标准Python字典。键和值是字符串
所以问题是user\u change
是一个字符串,而game.id
是一个整数。在python中,一个整数,其字符串表示形式不相等
请尝试以下方法:
user_change = int(request.COOKIES.get('voted_or_added', -1))
return render(request, 'xbox_wishlist/wishlist.html', { 'user_change': user_change, })
啊,就是这样。我想到了这一点,但我不确定如何在模板内转换为int/string。。。在交给你之前我没想过要这么做谢谢你!,但一般来说,您希望在视图中保留这种逻辑,而不是模板。