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

Django模板中以表格渲染多方法返回值失败,如何解决?

解决Django表格渲染无内容的问题
  • 问题根源:你用chain(values1, values2)把两个列表的元素扁平化拼接成了单个数值的列表(比如[3588.20, 5018.75, 3488.16, 3588.20, 5018.75, 3488.99])。模板循环时每个value是单个数字,访问value.0和value.1自然取不到任何值,导致表格无内容。

  • 修复步骤:

    1. 修改views.py中的all_values,用zip()函数将两个列表的对应元素配对成元组:
      def test(request):
          values1 = filter_text.total_cost_fruit()
          values2 = filter_text.total_cost_fruit2()
          
          # 用zip配对两个列表对应位置的元素,生成元组列表
          all_values = list(zip(values1, values2))
          # 若两个列表长度不一致,用zip_longest避免丢失元素,缺失位置可指定填充值
          # from itertools import zip_longest
          # all_values = list(zip_longest(values1, values2, fillvalue=0))
          
          context = {
              "values1": values1,
              "values2": values2,
              "all_values": all_values,
          } 
      
          return render(request, "main/test.html", context)
      
    2. 模板代码无需修改,此时循环all_values时,每个value是包含两个元素的元组,{{value.0}}和{{value.1}}会正确渲染对应数值。
  • 额外检查:确保filter_text是对应类的实例——因为total_cost_fruit和total_cost_fruit2是带self的实例方法,若直接用类名调用会抛出参数错误,需先实例化类(比如filter_text = YourClassName())。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:50:21