用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 %}
一个格子一个列表数值
你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]})