欢迎访问宙启技术站
智能推送

Python中create_pages()函数与HTML模板的结合应用

发布时间:2023-12-17 19:15:20

在Python中,我们可以使用create_pages()函数与HTML模板结合来动态生成网页。该函数可以接受一些输入参数,然后将这些参数与预先定义好的HTML模板进行替换,生成最终的网页内容。

下面是一个简单的示例,展示了如何使用create_pages()函数与HTML模板来生成一个包含多个页面的静态网站。

首先,我们需要创建一个HTML模板文件(如template.html),其中包含了一些占位符,用于替换为实际的内容:

<!DOCTYPE html>
<html>
<head>
    <title>{title}</title>
</head>
<body>
    <h1>{heading}</h1>
    <p>{content}</p>
</body>
</html>

然后,我们可以定义create_pages()函数,该函数接受参数pages(一个字典列表),每个字典包含了需要替换的内容:

def create_pages(pages):
    template = open('template.html', 'r').read()

    for page in pages:
        title = page['title']
        heading = page['heading']
        content = page['content']

        page_content = template.replace('{title}', title)
                               .replace('{heading}', heading)
                               .replace('{content}', content)

        with open(f"{title.replace(' ', '_')}.html", 'w') as file:
            file.write(page_content)

最后,我们可以调用create_pages()函数,并提供一个包含多个页面信息的列表:

pages = [
    {
        'title': 'Page 1',
        'heading': 'Welcome to Page 1',
        'content': 'This is the content of Page 1.',
    },
    {
        'title': 'Page 2',
        'heading': 'Welcome to Page 2',
        'content': 'This is the content of Page 2.',
    },
    {
        'title': 'Page 3',
        'heading': 'Welcome to Page 3',
        'content': 'This is the content of Page 3.',
    },
]

create_pages(pages)

上述代码将根据pages列表中提供的页面信息,使用template.html模板文件生成三个HTML页面文件,分别对应于Page 1Page 2Page 3。每个页面的标题、标题和内容将被替换为对应的值。

生成的HTML页面文件将分别保存在当前工作目录下,命名格式为标题的小写字母形式,其中空格被下划线替换。

通过以上示例,我们可以动态生成包含多个页面的静态网站。这在一些需要批量生成网页内容的场景中非常有用,例如创建产品目录、产品详情页、博客文章等。