使用Python以HTML格式从MySql打印数据

使用Python以HTML格式从MySql打印数据,python,html,mysql,webpage,Python,Html,Mysql,Webpage,我试图将MySQL数据库中的项目列表打印到HTML页面上。我的数据库可以添加到此页面并随时间的推移而更改,因此列表必须随着数据库的更改而更改。最棘手的部分是列表中的每个项目都链接到一个信息页面(指向信息页面的链接也将存储在数据库中)。我已经用python运行了所有其他代码,它通过执行以下操作来运行HTML页面: def render_POST( self, request): file=open('NewOptionsPage.html','r') fil

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

    def render_POST( self, request):
        file=open('NewOptionsPage.html','r')
        filedata=file.read()
        return filedata
-其中NewOptionPage是我的html代码

所以我的问题是:


我应该在HTML代码中加入什么内容,以便从数据库中打印出来,从而允许我从数据库中为其提供链接?如果在python中不可能做到这一点,那么如何在php或其他语言中做到这一点呢?

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

在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>
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))
如果你在谷歌上搜索模板语言,你会看到很多与python一起工作的语言