как прочитать значения нескольких переменных внутри html-тега в python

#python #html

#python #HTML

Вопрос:

ниже приведен html-код, который вызывает python с одной переменной

 html123='''
<html>
<head>
<style>
div {
  background-color: lightgrey;
  width: 300px;
  border: 15px solid green;
  padding: 50px;
  margin: 20px;
}
</style>
</head>
<body>

<h2>Demonstrating the Box Model</h2>

<div>This text is $Var1</div>

</body>
</html>
</html>   '''
 

для одной переменной я попробовал следующий подход

 from string import Template
s = Template(html123).safe_substitute(Var1=LockingVar)  
 

Если у меня есть несколько переменных

 html123='''
<html>
<head>
<style>
div {
  background-color: lightgrey;
  width: 300px;
  border: 15px solid green;
  padding: 50px;
  margin: 20px;
}
</style>
</head>
<body>

<h2>Demonstrating the Box Model</h2>

<div>This text is $Var1</div>
<div>This text is $Var2</div>
<div>This text is $Var3</div>

</body>
</html>
</html>   '''
 

но если у нас есть несколько переменных Var1, var2, var3 внутри html-тега, как мы можем сопоставить значения этих переменных.

Пожалуйста, любое предложение..

Комментарии:

1. Почему вы не можете использовать свое первое решение несколько раз?

2. @JeffUK .. Вы имеете в виду таким образом «»»»» Шаблон (html123).safe_substitute(Var1= LockingVar) ..safe_substitute(Var1= LockingVar) «»»»» .. я пытался, но не работает для нескольких

3. был jinja бы вариант для вас?

Ответ №1:

Предоставьте dict для safe_substitute

 >>> params = {
...  'Var1':'aa',
...  'Var2':'bb',
...  'Var3':'cc'
... }

>>> Template("$Var1 $Var2 $Var3").safe_substitute(params)  
"aa bb cc"