使用 Python 在 HTML 中打印来自 MySql 的数据
Printing data from MySql in HTML using Python
我正在尝试将 MySQL 数据库中的项目列表打印到 HTML 页面上。我的数据库可以随着时间的推移添加到此页面并更改,因此列表必须随着数据库的更改而更改。最棘手的部分是列表中的每个项目 link 都指向一个信息页面(指向信息页面的 link 也将存储在数据库中)。我在 python 中有 运行 所有其他代码,它 运行 通过执行以下操作成为 HTML 页面:
def render_POST( self, request):
file=open('NewOptionsPage.html','r')
filedata=file.read()
return filedata
-其中 NewOptionsPage 是我的 html 代码。
所以我的问题是:
我要在我的 HTML 代码中输入什么才能从我的数据库中打印出来,这样我也可以从数据库中给它一个 link?如果这在 python 中不可行,我如何在 php 或其他语言中做到这一点?
如果我没理解错的话,这是 HTML 模板语言(如 Jinja2 or Mako
的绝佳用例
在 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
我正在尝试将 MySQL 数据库中的项目列表打印到 HTML 页面上。我的数据库可以随着时间的推移添加到此页面并更改,因此列表必须随着数据库的更改而更改。最棘手的部分是列表中的每个项目 link 都指向一个信息页面(指向信息页面的 link 也将存储在数据库中)。我在 python 中有 运行 所有其他代码,它 运行 通过执行以下操作成为 HTML 页面:
def render_POST( self, request):
file=open('NewOptionsPage.html','r')
filedata=file.read()
return filedata
-其中 NewOptionsPage 是我的 html 代码。
所以我的问题是:
我要在我的 HTML 代码中输入什么才能从我的数据库中打印出来,这样我也可以从数据库中给它一个 link?如果这在 python 中不可行,我如何在 php 或其他语言中做到这一点?
如果我没理解错的话,这是 HTML 模板语言(如 Jinja2 or Mako
的绝佳用例在 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