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

Django开发Web前端:如何插入MySQL count()统计值?

解决方案:在Django看板中添加2022年发布条目统计

1. 修改views.py,添加统计逻辑

在你的orm视图函数中,新增对itsec_china表的统计查询(用Django ORM替代原生SQL),并将统计结果传入模板:

def orm(request):
    # 插入测试数据(按需保留或注释)
    # TryCC.objects.create(name='Bruce', major='CS', age=27)
    
    # 获取TryCC表全量数据
    data_list = TryCC.objects.all()
    
    # 统计2022年发布条目数(匹配你的SQL逻辑)
    # 若Issue_date为字符串类型(如'20220214')
    count_2022 = itsec_china.objects.filter(Issue_date__startswith='2022').count()
    
    # 若Issue_date为日期类型(datetime/date),推荐更规范的写法:
    # count_2022 = itsec_china.objects.filter(Issue_date__year=2022).count()
    
    # 将统计结果与原有数据一同传入模板
    return render(request, 'cc_list.html', {
        'data_list': data_list,
        'count_2022': count_2022
    })

2. 修改HTML模板,展示统计结果

你可以在表格的合适位置插入统计内容,以下是两种常见方式:

方式1:表格顶部添加统计行

<tbody>
    <!-- 2022年条目统计行 -->
    <tr>
        <th colspan="4">2022年发布条目总数:{{ count_2022 }}</th>
    </tr>
    <!-- 原有数据循环渲染 -->
    {% for obj in data_list %}
    <tr>
        <th>{{ obj.id }}</th>
        <th>{{ obj.major }}</th>
        <th>{{ obj.name }}</th>
        <th>{{ obj.age }}</th>
    </tr>
    {% endfor %}
</tbody>

方式2:表格末尾添加汇总行

<tbody>
    {% for obj in data_list %}
    <tr>
        <th>{{ obj.id }}</th>
        <th>{{ obj.major }}</th>
        <th>{{ obj.name }}</th>
        <th>{{ obj.age }}</th>
    </tr>
    {% endfor %}
    <!-- 2022年条目统计汇总行 -->
    <tr>
        <th colspan="3">2022年发布条目总数</th>
        <th>{{ count_2022 }}</th>
    </tr>
</tbody>

3. 相关学习方向

  • 熟练掌握Django ORM基础查询:用filter()、count()等查询集方法替代原生SQL,提升代码兼容性与可维护性
  • 规范模型字段类型:日期类数据优先使用DateField/DateTimeField,可直接通过__year、__month等条件进行日期筛选
  • 深化Django模板语法:掌握模板变量、标签的使用,结合HTML的colspan等属性实现灵活的页面布局

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:31:01