将HTML插入python HTML模板

时间:2018-05-19 07:15:34

标签: python html

##### 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按钮时单独添加项目。

我很擅长编码,只是想了解最佳方法。 我确实找到了一些关于使用美味汤的信息,但我不确定我是否可以使用它(等待讲师的回复)。

0 个答案:

没有答案