我有一个与SQL Server连接的django项目,我试图从数据库中检索数据。
如果我尝试显示所有数据,它将正确运行并显示所有值。
但是如果我尝试在 html表中显示数据,则不会显示任何内容。
def connect(request):
conn = pyodbc.connect(
'Driver={ODBC Driver 17 for SQL Server};'
'Server=DESKTOP-LPD1575\\SQLEXPRESS;'
'Database=testDB;'
'UID=test;'
'PWD=test;'
)
cursor = conn.cursor()
c = cursor.execute('SELECT * FROM Artist')
return render (request,'connect.html',{"c":c})
{% for row in c %}
{{ row }}
{% endfor %}
html模板中的此代码可以工作并显示数据。
但是,如果我尝试执行以下操作,则将无法运行
<table align = "center">
<tr align="center">
<th>ID</th>
<th>FolderNumber</th>
<th>Title</th>
</tr>
{% for row in c %}
<tr align="center">
<td>{{ row.id }}</td>
<td>{{ row.artistName }}</td>
<td>{{ row.activeFrom }}</td>
</tr>
{% endfor %}
</table>
有人可以帮助我吗?
答案 0 :(得分:0)
结果中的每一行都是列表,而不是字典。您将需要使用索引而不是键:
{% for row in c %}
<tr align="center">
<td>{{ row.0 }}</td>
<td>{{ row.1 }}</td>
<td>{{ row.2 }}</td>
</tr>
{% endfor %}
或更佳
{% for row in c %}
<tr align="center">
{% for item in row %}
<td>{{ item }}</td>
{% endfor %}
</tr>
{% endfor %}
但是,实际上,您不应该直接运行SQL查询,而应该为表定义一个模型并以这种方式访问它。