【问题标题】:Printing data from MySql in HTML using Python使用 Python 在 HTML 中从 MySql 打印数据
【发布时间】:2015-08-26 08:52:33
【问题描述】:

我正在尝试将 MySQL 数据库中的项目列表打印到 HTML 页面上。我的数据库可以添加到此页面并随着时间的推移而更改,因此列表必须随着数据库的更改而更改。最棘手的部分是列表中的每个项目都链接到一个信息页面(到信息页面的链接也将存储在数据库中)。我已经在 python 中运行了我的所有其他代码,它通过执行以下操作来运行 HTML 页面:

    def render_POST( self, request):
        file=open('NewOptionsPage.html','r')
        filedata=file.read()
        return filedata

-其中 NewOptionsPage 是我的 html 代码。

所以我的问题是:

我应该在我的 HTML 代码中添加什么以从我的数据库中打印,这样我还可以从数据库中给它一个链接?如果这在 python 中是不可能的,我怎么能用 php 或其他语言来做呢?

【问题讨论】:

    标签: python html mysql webpage


    【解决方案1】:

    如果我理解正确的话,这是一个很好的 HTML 模板语言用例,例如 Jinja2Mako

    在 OptionsPage.html 中,您可能会存储如下内容:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <title>My Webpage</title>
    </head>
    <body>
        <ul id="navigation">
        {% for item in items %}
            <li><a href="{{ item.href }}">{{ item.caption }}</a></li>
        {% endfor %}
        </ul>
    
        <h1>My Webpage</h1>
        {{ a_variable }}
    
        {# a comment #}
    </body>
    </html>
    

    你的 python 代码在哪里做类似的事情:

    def get_items(db_connection):
        cursor = db_connection.cursor()
        cursor.execute("SELECT a, b FROM some_table")
        items = cursor.fetchall()
        return items
    

    然后是一点模板魔法:

    items = get_items(db_connection)
    template = Template(file='OptionsPage.html')
    print(template.render(items=items, a_variable=42))
    

    如果您使用 Google 模板语言,您会看到很多与 python 一起使用的语言。

    HTH

    【讨论】:

      猜你喜欢
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-27
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多