我的Flask无法正确显示mysql行

时间:2018-12-22 17:29:05

标签: python flask

我试图选择“ NomeAbrev”列等于每个所需值(在这种情况下为“ vitamina_a”,“ vitamina_b”,“ adh”和“ ferro”)的行) / em>,然后显示每个值的完整行。

我可以为每个项目正确运行MySQL,但是在模板中显示时,它仅显示其中一项的行(在这种情况下为'ferro'行)。如您所见,输出:

vitamina_c: 0.5 (('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 131.0, 137.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 132.0, 138.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 100000000.0, 26.7, 'Mulheres na pr\xc3\xa9-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 2.69, 19.59, 'Mulheres na p\xc3\xb3s-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'))
vitamina_a: 0 (('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 131.0, 137.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 132.0, 138.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 100000000.0, 26.7, 'Mulheres na pr\xc3\xa9-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 2.69, 19.59, 'Mulheres na p\xc3\xb3s-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'))
adh: 7 (('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 131.0, 137.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 132.0, 138.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 100000000.0, 26.7, 'Mulheres na pr\xc3\xa9-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 2.69, 19.59, 'Mulheres na p\xc3\xb3s-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'))
ferro: 3 (('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 131.0, 137.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 132.0, 138.0, 'Mulheres no terceiro trimestre de gravidez', 'Tua sa\xc3\xbade'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 65.0, 175.0, 'Homens', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 50.0, 170.0, 'Mulheres', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 100000000.0, 26.7, 'Mulheres na pr\xc3\xa9-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini'), ('ferro', 2.69, 19.59, 'Mulheres na p\xc3\xb3s-menopausa', 'Laborat\xc3\xb3rio Hermes Pardini')) 

我的代码是这样的:

for i in Dados:
    PuxaDados   =   "SELECT nomeAbrev, valoresMin, valoresMax, grupo, fonte FROM valores_ref WHERE nomeAbrev = %s"
    Cursor.execute(PuxaDados, (i[0])) # so far so good
    SelectAll   =   Cursor.fetchall()

return render_template('finalizar.html',
    title='Selecionar exames',
    results=Dados,
    SELECIONA_TUDO = SelectAll)

模板:

{% extends "layout.html" %}
{% block content %}
{% for i in results %}
{{ i[0] }}: {{ i[1] }}
{{ SELECIONA_TUDO }} #  Here is where the array of each should appear.
<br>
{% endfor %}
{% endblock content %}

1 个答案:

答案 0 :(得分:0)

据我所知,您在Dados上进行迭代,并在每次迭代后获取它。为了显示所有内容,您需要对其进行缓存。

Python代码

SelectAll = []
for i in Dados:
   PuxaDados   =   "SELECT nomeAbrev, valoresMin, valoresMax, grupo, fonte FROM valores_ref WHERE nomeAbrev = %s"
    Cursor.execute(PuxaDados, (i[0])) # so far so good
    SelectAll.append(Cursor.fetchall())

return render_template('finalizar.html',
    title='Selecionar exames',
    results=Dados,
    SELECIONA_TUDO = SelectAll)

我还调整了模板,以防在每次for循环迭代中都不需要绘制SELECIONA_TUDO

模板

{% extends "layout.html" %}

{% block content %}

{% for i in results %}
{{ i[0] }}: {{ i[1] }}
<br>
{% endfor %}

{% for x in SELECIONA_TUDO %}
{{ x }}
<br><br>
{% endfor %}
<br>

{% endblock content %}