Python 炼金术查询
我使用米格尔·格林伯格的优秀教程创建了一个烧瓶项目。我正在修改示例代码以创建自己的站点 我的数据库中有两个表。司机和车队。我在models.py中创建了一个一对多关系,我想输出一个驱动程序列表和他们所属的团队。我已经包括routes.py和将显示结果的html文件 如果我在查询中指定一个驱动程序,routes.py中的查询可以正常工作,但是当我尝试Drivers.query.all()时,它不会返回网页上的任何数据 注意=我已经在Python Shell中运行了,并且得到了正确的响应,只有当我尝试在网页上实现解决方案时,我才会遇到问题Python 炼金术查询,python,flask,jinja2,flask-sqlalchemy,Python,Flask,Jinja2,Flask Sqlalchemy,我使用米格尔·格林伯格的优秀教程创建了一个烧瓶项目。我正在修改示例代码以创建自己的站点 我的数据库中有两个表。司机和车队。我在models.py中创建了一个一对多关系,我想输出一个驱动程序列表和他们所属的团队。我已经包括routes.py和将显示结果的html文件 如果我在查询中指定一个驱动程序,routes.py中的查询可以正常工作,但是当我尝试Drivers.query.all()时,它不会返回网页上的任何数据 注意=我已经在Python Shell中运行了,并且得到了正确的响应,只有当我尝
Drivers.query.all()
pythonshell的输出
>>> details = Driver.query.all()
>>> details
[<Driver Lewis Hamilton>, <Driver Kimi Raikkonen>, <Driver Max Verstappen>]
>>> for d in details:
... print(d.driverName, d.driverTeam)
...
Lewis Hamilton Mercedes
Kimi Raikkonen Ferrari
Max Verstappen Red Bull
>>>
driverDetails.html
{% extends "base.html" %}
{% block content %}
<h1>Driver Details</h1>
<!-- Output works correctly for one driver as specified in query on routes.py
<div><p>{{ details.driverName }} is in: <b>{{ details.driverTeam }}</b></p></div>
-->
<!-- However, when trying to iterate over whole list of drivers, output shows
the text "drives for:". But there is no data being populated from the db
-->
{% for d in details %}
<div><p>{{ details.driverName }} drives for: {{ details.driverTeam }}</p></div>
{% endfor %}
{% endblock %}
{%extends“base.html”%}
{%block content%}
驾驶员详细信息
{详细信息中的%d为%d}
{{details.driverName}}的驱动器:{{details.drivertam}
{%endfor%}
{%endblock%}
如果您能告诉我哪里出了问题,我将不胜感激。您的代码基本上是正确的,您只需要实际使用您绑定到的对象
d
:
{% for d in details %}
<div><p>{{ d.driverName }} drives for: {{ d.driverTeam }}</p></div>
{% endfor %}
{%d的详细信息%}
{{d.driverName}}的驱动器:{{d.drivertam}
{%endfor%}
啊,太棒了!非常感谢乔比奇!真不敢相信我自己竟然没有注意到!
{% extends "base.html" %}
{% block content %}
<h1>Driver Details</h1>
<!-- Output works correctly for one driver as specified in query on routes.py
<div><p>{{ details.driverName }} is in: <b>{{ details.driverTeam }}</b></p></div>
-->
<!-- However, when trying to iterate over whole list of drivers, output shows
the text "drives for:". But there is no data being populated from the db
-->
{% for d in details %}
<div><p>{{ details.driverName }} drives for: {{ details.driverTeam }}</p></div>
{% endfor %}
{% endblock %}
{% for d in details %}
<div><p>{{ d.driverName }} drives for: {{ d.driverTeam }}</p></div>
{% endfor %}