Django模板if语句返回错误值
Posted
技术标签:
【中文标题】Django模板if语句返回错误值【英文标题】:Django template if statement return wrong value 【发布时间】:2017-07-20 03:07:14 【问题描述】:在我的主页我有博客,右侧有帖子类别列表,如:
运动 犯罪等等。当我在某个类别中时,我会尝试使活动类别按钮突出显示。 我通过将 GET 参数设置到我的主页来做到这一点,例如:/?category=1
现在...在 index.html 模板中我正在这样做:
% for category in category_list %
category.pk != request.GET.category // This is for debugging. Returns 1==1
% if category.pk == request.GET.category %
<li><a href="% url 'web_serv:index' %?category= category.pk "> category <span class="pull-right">( category.post_set.count )</span></a></li>
% else %
<li class="active"><a href="% url 'web_serv:index' %?category= category.pk "> category <span class="pull-right">( category.post_set.count )</span></a></li>
% endif %
% endfor %
但这不起作用。有什么建议可以解决这个问题,也许还有其他方法?
已编辑:
我认为 category.pk 返回 int 而 request.GET.category 返回 string。下一个问题。如何转换 intstring,以便我可以比较它们?
【问题讨论】:
尝试使用这种方法将字符串转换为int ***.com/a/4831735/977593 【参考方案1】:这样做是有效的:
% if category.pk != request.GET.category|add:"0" %
显然 |add:"0" 将字符串转换为 int。
【讨论】:
以上是关于Django模板if语句返回错误值的主要内容,如果未能解决你的问题,请参考以下文章