在 HTML 中组合页眉、正文和页脚(或使用 CSS?)

Combining head, body and footer in HTML (or with CSS?)

我有两个单独的文件,名为 head.htmlfooter.html,每个文件都有几个格式选项。在 python 脚本中,我正在为 body:

处理一些文本
sometext=inspect.cleandoc(f'''
  <body>
  This is some text.
  </body>
''')
Html_file= open('path/to/my/output.html',"w")
Html_file.write(sometext)
Html_file.close()

我如何:

  1. 在 python 中包含我的 output.html 中的 head.htmlfooter.html,正文在中间?我在想,也许我可以打开 head.html > 写入 output.html,用 open( ... , 'a') 打开这个文件 > 写入页脚。但也许有更好的方法?
  2. 对于如何将 CSS 与 html 以及我在 python 中生成的文本一起使用,我有点困惑。我了解如何编写其中的每一个,但不确定如何让它们协同工作。

我的目标是在单个 html 文件中使用 head.html、主体、footer.html,然后使用 weasyprint.[=26 将其转换为 PDF =]

此脚本应执行您描述的操作:

# open output file
Html_file= open('path/to/my/output.html',"w")

# write from header file to output file
with open('path/to/my/header.html') as header_file:
    for line in header_file:
        Html_file.write(line)

# write body
sometext=inspect.cleandoc(f'''
  <body>
  This is some text.
  </body>
''')
Html_file.write(sometext)

# write from footer file to output file
with open('path/to/my/footer.html') as footer_file:
    for line in footer_file:
        Html_file.write(line)

# close output file
Html_file.close()