前端(html)可以接收到后端(python view.py)render的列表数据,如何让前端通过table来一个格子显示列表一个值?

问题遇到的现象和发生背景

用Excel做网站数据库。python使用的库为Django、xlrd、xlrw、xlutils。
Excel读取正常,可以把表数据提取成列表,可以把列表数据通过

render的方式在view.py中传输至对应的html网页中。网页也接收到了列表。
想通过table在html上显示列表内容,一个表的格子对应一个列表值。但不知为何输出之后把列表值拆成了单个的字符。请教有什么解决办法。具体是哪里出了问题。

问题相关代码,请勿粘贴截图

view.py文件中的返回的渲染函数,ownerlist[0][1]是个列表,传递至bms_work.html:
return render(request, 'bms_work.html',
{'company': company, 'name': name, 'ownerlist': ownerlist[0][1], 'sh_rnlist': ownerlist[1]})

bms_work.html中的标签语句如下:

<tr>
    <td width="300px">
     {% for item1 in ownerlist %}
        {{ item1 }}
    </td>
</tr>
{% endfor %}
###### 运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

一个格子一个列表数值

你ownerlist[0][1]是一个字符串,要用eval(ownerlist[0][1])转成列表才行

你用Excel做网站数据库,Excel一个单元格中只能存放数值或字符串,你把列表存放在一个单元格中是把列表转成字符串了吧
你view.py文件中用
print(type(ownerlist[0][1]))
看看是不是字符串str对象
是的话render()中改成 'ownerlist': eval(ownerlist[0][1])

return render(request, 'bms_work.html',
{'company': company, 'name': name, 'ownerlist': eval(ownerlist[0][1]), 'sh_rnlist': ownerlist[1]})