##### CREATE HTML TEMPLATE ######
html_template = """<!DOCTYPE html>
<html>
<head>
<meta charset = 'UTF-8'>
<title>SHOPPING OUTLET</title>
</head>
<body>
$items$
</body>
</html>
"""
def print_invoice():
# Get the document's title
title = 'invoice'
# Replace elements with items(name, img, price) in the HTML template
html_code = html_template.replace('$items$', '$items$') * count
html_code = html_code.replace('$items$', '<h1>***TITLE***</h1> <\b> <p><img src = ***IMG***></p> <\b> <p> Our Price: ***PRICE***</p> <\b>')
for html_replace in range(count):
html_code = html_code.replace('***TITLE***', html_names[html_replace])
html_code = html_code.replace('***IMG***', html_imgs[html_replace])
html_code = html_code.replace('***PRICE***', html_prices[html_replace])
# Write the HTML code to a Unicode text file
html_file = open(title + '.html', 'w', encoding = 'UTF-8')
html_file.write(html_code)
html_file.close()
首先,我有一个tkinter界面作为购物商店/界面,这个HTML用于生成添加到购物车的商品发票。我为所选项目的各个元素创建了三个单独的列表,因为我觉得用单独的列表格式化HTML可能更容易?
这会将最后一个项目添加到已创建的所有HTML块中。我发现for循环当前没有做任何事情,因为html_code.replace正在将所选的最后一项添加到所有&gt;&gt;&gt; TITLE&lt;&lt;&lt;等HTML部分的模板。
我是否运行一个创建一个大型字符串的for循环,然后简单地将其作为整个块插入,或者更好地单独添加每个项目。
for html_replace in range(count):
html_code = '<h1>' + html_names[html_replace] + '<\h>' etc...
#Not sure if this will work
我还考虑过将html_code.replace部分移动到add_to_cart按钮按下,并在按下add_to_cart按钮时单独添加项目。
我很擅长编码,只是想了解最佳方法。 我确实找到了一些关于使用美味汤的信息,但我不确定我是否可以使用它(等待讲师的回复)。