如何将上下文变量与Django模板中的SQL ID进行比较?

2024-05-23 21:21:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个愿望列表类型的站点,其中突出显示用户最后更改的行。但是,我做这件事有困难,因为显然在上下文变量上使用'==',对象的ID并没有返回true,尽管它们看起来都一样。在

例如,这是我正在进行的render调用:

def wishlist(request):
    ...
    user_change = request.COOKIES.get('voted_or_added', False)
    return render(request, 'xbox_wishlist/wishlist.html', { 'user_change': user_change, })

然后在我的模板中,我有:

^{pr2}$

我尝试过同时显示{{ game.id }}{{ user_change }},它们在正确的位置都显示了相同的数字,但是{}语句的谓词似乎永远不会求值为True。我试过用==代替in,我试过交换他们的位置,我试过所有的方法,但似乎没有任何效果。在

有什么想法吗?在


Tags: 对象用户idtrue类型列表get站点
1条回答
网友
1楼 · 发布于 2024-05-23 21:21:55

From the Django documentation

HttpRequest.COOKIES

A standard Python dictionary containing all cookies. Keys and values are strings.

所以问题是user_change是一个字符串,而{}是一个整数。在python语言中,整数与其字符串表示形式不相等。在

试试这个:

user_change = int(request.COOKIES.get('voted_or_added', -1))
return render(request, 'xbox_wishlist/wishlist.html', { 'user_change': user_change, })

相关问题 更多 >