【问题标题】:Is there any way to assign values from MYSQL query in flask to an HTML document?有没有办法将烧瓶中的 MYSQL 查询中的值分配给 HTML 文档?
【发布时间】:2022-09-24 05:25:44
【问题描述】:

我正在开发一个网页,我在 Python 烧瓶应用程序中进行查询。以下是我运行的查询:

cur.execute(\"SELECT sum(quantity) FROM pydb.products GROUP BY category\")

结果:

我想一一访问这些数据,将它们分配给 HTML 代码的以下数量部分:

<ul id=\"autoWidth\" class=\"cs-hidden\">
          <li class=\"item-a\">
              <div class=\"box\">
                  <div class=\"slide-img\">
                    <img src=\"static/images/1.webp\" alt=\"1\" />
                    <div class=\"overlay\">
                      <a href=\"/details/camera\" class=\"details-btn\">View Details</a>
                    </div>
                  </div>
            
                  <div class=\"detail-box\">
                    <div class=\"type\">
                      <a href=\"#\">Camera & Camcorders</a>
                      <span> </span>
                    </div>
                    <a href=\"#\" class=\"quantity\">  </a>
                  </div>
                </div>
          </li>
          <li class=\"item-b\">
              <div class=\"box\">
                  <div class=\"slide-img\">
                    <img src=\"static/images/2.jfif\" alt=\"2\" />
                    <div class=\"overlay\">
                      <a href=\"/details/laptop\" class=\"details-btn\">View Details</a>
                    </div>
                  </div>
            
                  <div class=\"detail-box\">
                    <div class=\"type\">
                      <a href=\"#\">Laptops</a>
                      <span>  </span>
                    </div>
            
                    <a href=\"#\" class=\"quantity\"> </a>
                  </div>
                </div>
          </li>
          </ul>
  • 所有教程都显示它。
  • 他们通过迭代来展示它。我需要访问各个列兄弟@furas
  • all_rows = cur.fetch() 和之后的 return render_tempalte(\"file.html\", data=all_rows) 和内部 HTML 使用 {% for ... %} 生成 HTML
  • column 表示 many rows,因此您可以对其进行迭代。
  • 是的,我已经使用它来生成整个表格。但我现在需要单个细胞。

标签: python html mysql flask jinja2


【解决方案1】:

正如您在许多教程中看到的那样:

从数据库中获取数据

all_rows = cur.fetch()

将数据发送到模板

render_tempalte("file.html", data=all_rows)

在 HTML 中,您可以使用 for-loops 来显示它(我跳过标签)。

{% for row in data %}
   {% for item in row %}
      {{ item }}
   {% endfor %}
{% endfor %}

但您也可以使用索引[row][column] 访问项目

{{ data[0][0] }}

{{ data[1][0] }}

或者您可以在发送到模板之前修改数据

render_tempalte("file.html", laptops=all_rows[0][0], others=all_rows[1][0])

然后

{{ laptops }}

{{ others }}

【讨论】:

    猜你喜欢
    • 2022-08-09
    • 2021-11-02
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多