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

求助:Lua中object_list无法在pongo2模板渲染的问题

Algernon中Lua对象列表无法在pongo2模板渲染

问题重现

使用Algernon工具将Lua脚本数据输出到pongo2模板时,number_list能正常渲染,但object_list无内容输出。

Lua代码

title = "This is the title"

number_list = {}

table.insert(number_list, 1)
table.insert(number_list, 2)
table.insert(number_list, 3)

object_list = {}

o1 = {1}
table.insert(object_list, o1)
o2 = {2}
table.insert(object_list, o2)
o3 = {3}
table.insert(object_list, o3)

pongo2模板代码

<html>
  <head>
    <title>{{title}}</title>
  </head>
  <body>
    {{ title }}
    <div>

        {% for item in number_list %}
        test 1: {{item}} 
        {% endfor %}

        {% for item in object_list %}
        test 2: {{item}}
        {% endfor %}
    </div>
  </body>
</html>

问题原因

经核实这是Algernon的已知bug:当Lua传递的列表元素为匿名表(如{1}这类无键名的表)时,pongo2模板无法正确识别并渲染。

替代实现方案

将匿名表改为带明确键名的表,让模板能正确访问内部值:

修改后的Lua代码

title = "This is the title"

number_list = {}

table.insert(number_list, 1)
table.insert(number_list, 2)
table.insert(number_list, 3)

object_list = {}

-- 改为带键名的表结构
o1 = {value = 1}
table.insert(object_list, o1)
o2 = {value = 2}
table.insert(object_list, o2)
o3 = {value = 3}
table.insert(object_list, o3)

修改后的pongo2模板代码

<html>
  <head>
    <title>{{title}}</title>
  </head>
  <body>
    {{ title }}
    <div>

        {% for item in number_list %}
        test 1: {{item}} 
        {% endfor %}

        {% for item in object_list %}
        test 2: {{item.value}}
        {% endfor %}
    </div>
  </body>
</html>

修改后object_list的内容即可正常渲染。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 12:54:23