如何使用 python 将字典值插入到 html 模板文件中?

Posted

技术标签:

【中文标题】如何使用 python 将字典值插入到 html 模板文件中?【英文标题】:How to Insert dictionary values into a html template file using python? 【发布时间】:2020-09-22 12:59:27 【问题描述】:

我有一个如下所示的 html 模板文件,我想用我的 python 脚本中的字典值替换标题和正文。

<!DOCTYPE html>

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>#Want to insert dictionary values here in python></title>
  <LINK href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>

<img src="forkit.gif" id="octocat"  />

<!-- Feel free to change this text here -->
<p>
   #Want to insert dictionary values here in python>
</p>
<p>
  #Want to insert dictionary values here in python>
</p>

</body>
</html>

我正在解析 json 文件并将值存储在字典中,现在想将这些值插入到创建的 html 文件中。

import json
#from lxml import etree

with open('ninjs_basic.json','r') as file:
    resp_str = file.read()
#print(resp_str)
resp_dict = json.loads(resp_str)

with open('result.html','w') as output:
    output.write('uri: ' + resp_dict['uri']+ '\n')
    output.write(resp_dict['headline'] + '\n')
    output.write(resp_dict['body_text'])

我尝试使用以下代码但没有运气。这里的正确方法是什么?

【问题讨论】:

【参考方案1】:

给你一个使用 SimplifiedDoc 的例子。

from simplified_scrapy import SimplifiedDoc,req,utils
import json
html ='''
<body>
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>#Want to insert dictionary values here in python></title>
  <LINK href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<img src="forkit.gif" id="octocat"  />
<!-- Feel free to change this text here -->
<p>
   #Want to insert dictionary values here in python>
   <placeholder1 />
</p>
<p>
  #Want to insert dictionary values here in python>
  <placeholder2 />
</p>
</body>
</html>'''
doc = SimplifiedDoc(html)

# with open('ninjs_basic.json','r') as file:
#     resp_str = file.read()
# resp_dict = json.loads(resp_str)

with open('result.html','w') as output:
    doc.title.setContent("The title you took from the JSON file")
    doc.placeholder1.repleaceSelf("Want to insert dictionary values here in python")
    doc.placeholder2.repleaceSelf("Want to insert dictionary values here in python")
    output.write(doc.html)

【讨论】:

以上是关于如何使用 python 将字典值插入到 html 模板文件中?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 executemany 将 Python 中的字典列表插入 MySQL

Python将字典插入sqlite3

如何使用一个键将多个列表值创建到python中的字典中?

如何使用 Python 将嵌套字典/json 插入 MySQL 表

如何将字典值分配给 Python 中的变量?

如何在实例化时将值插入 C# 字典?