HTML标签常数无javascript ::之前和之后::

问题描述 投票:0回答:2

我有一个个性化的发送HTML邮件Python应用程序,它加载与像姓名,日期标签的HTML模板...

<label id="name"></label>
<label id="date"></label>
...

并在加载HTML结束我添加脚本与这些标签的价值

<script>
    document.getElementById('name').innerHTML = 'Mau';
    document.getElementById('date').innerHTML = '19-02-2019';
...

</script>
</html>

如果我打开生成的HTML使用Web浏览器我看到的价值观正确更换标签

问题是,我发现,电子邮件客户端将无法运行该脚本,显示默认标签值。

我不知道如何可以定义在HTML文件的开头常数不使用脚本?

我知道我可以在Python加载HTML和搜索每行的变量行,但是这将是耗时的,因为他们就像在电子邮件20个标签。

每个变量并不总是在同一行,因为我使用不同的模板和欢迎文本。

所以我在想,如果我可以在开头或,我只是在发送之前附加到HTML中的HTML结束界定什么?

就像是:

通过定义添加蟒

name_constant = “茂” date_constant = “12_12_2019” ...

所以,我并不需要在身体模板写什么

标签ID = “name_lbl”> name_constant

...

谢谢

javascript html
2个回答
0
投票

你不能在HTML中的变量。 HTML是标记语言本身。不多。

什么可以做,虽然是使这些标签包含值一些占位符。然后你会从你的后端返回HTML之前替换占位符。

事情是这样的:HTML:

<label id="name">##LABEL_NAME_VALUE##</label> <label id="date">##LABEL_DATE_VALUE##</label>

然后在你的Python脚本,该脚本返回HTML只是实际值替换的占位符。

希望能帮助到你。


0
投票

::before & ::after

如果JavaScript是不可行的,我不知道Python可以做(Python的标签应张贴),CSS伪元素会起作用,因为标签的内容是不变的。顺便说一句,如果你有20个标签,你应该使用类,而不是相同的文本。下面的演示显示了使用IDS作为您在问题和使用类以及所提供的代码有它。

演示

#name::after {
  content: 'Mau'
}

#date::after {
  content: '19-02-2019'
}

.name::before {
  content: 'Foo'
}

.date::before {
  content: '04-02-2019'
}

/* For Demo Purposes */
label {
  display: block
}
<label id="name"></label>
<label id="date"></label>


<label class="name"></label>
<label class="date"></label>
<label class="name"></label>
<label class="date"></label>
<label class="name"></label>
<label class="date"></label>
<label class="name"></label>
<label class="date"></label>
<label class="name"></label>
<label class="date"></label>
© www.soinside.com 2019 - 2024. All rights reserved.