You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django star ratings中仅显示星级,按需隐藏附加信息?

解决django-star ratings列表页隐藏附加信息的问题

我之前也碰到过一模一样的需求,其实不用愁,django-star ratings有两种简单的实现方式,帮你在列表页只显示星级、详情页保留完整信息:

方法一:自定义模板(推荐,后端控制渲染)

django-star ratings的默认模板包含了那些附加信息,我们可以自定义一个精简版模板,只保留星级部分:

  1. 在你的项目根目录的templates文件夹下,新建star_ratings子文件夹(Django会优先加载项目内的模板,而非第三方包的)
  2. 找到django-star ratings包中的默认widget.html模板(一般在site-packages/star_ratings/templates/star_ratings/路径下),把它复制到你刚创建的star_ratings文件夹里
  3. 复制后的文件重命名为widget_minimal.html,然后删掉里面显示附加信息的代码块(就是包含"Average: ..."、"Rating Count: ..."的那部分HTML),只保留星级评分的核心代码
  4. 在商品列表页的模板里,指定使用这个精简模板:
    {% ratings object 18 18 template_name='star_ratings/widget_minimal.html' %}
    
  5. 商品详情页依旧使用原来的标签即可:
    {% ratings object 18 18 %}
    

方法二:CSS前端隐藏(快速实现)

如果不想折腾模板,也可以用CSS直接隐藏附加信息,仅在列表页生效:
在列表页的样式文件中添加:

/* 隐藏星级下方的附加信息 */
.star-ratings__info {
    display: none;
}

这种方法是前端层面隐藏,后端还是会渲染这些内容,如果对页面性能有要求,更推荐第一种方法。

注意:自定义模板时,别误删了星级评分的交互逻辑(比如点击评分的JS代码和相关DOM结构),不然会导致评分功能失效哦~

内容的提问来源于stack exchange,提问作者Pankaj Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:37:36