Python 在Jinja2模板中更改CSS
在我呈现为html的_layout.html文件中,我有以下内容Python 在Jinja2模板中更改CSS,python,css,jinja2,Python,Css,Jinja2,在我呈现为html的_layout.html文件中,我有以下内容 <style type="text/css"> .btn-primary { background: #cb6532; } </style> 并将_layout.html更改为 <style type="text/css"> .btn-primary { background: {{ button_primary_color }}; }
<style type="text/css">
.btn-primary { background: #cb6532; }
</style>
并将_layout.html更改为
<style type="text/css">
.btn-primary { background: {{ button_primary_color }}; }
</style>
<style type="text/css">
.btn-primary { background: "{{ button_primary_color }}"; }
</style>
.btn主{背景:{{button_primary_color}};}
问题是,这样就不会应用颜色,这是我在生成的文件中看到的
<style type="text/css">
.btn-primary { background: ; }
</style>
.btn主{背景:;}
如何做到这一点
编辑 如果我将_layout.html更改为
<style type="text/css">
.btn-primary { background: {{ button_primary_color }}; }
</style>
<style type="text/css">
.btn-primary { background: "{{ button_primary_color }}"; }
</style>
.btn主{背景:{{button_primary_color}}”}
那我就去
<style type="text/css">
.btn-primary { background: "#cb6532"; }
</style>
.btn小学{背景:“cb6532”}
哪个ofc不应用该样式。我使用的解决方法是基于。将以下脚本添加到
函数addCss(规则){
让css=document.createElement('style');
css.type='text/css';
if(css.styleSheet)css.styleSheet.cssText=rule;//对IE的支持
else css.appendChild(document.createTextNode(rule));//支持其余
document.getElementsByTagName(“head”)[0].appendChild(css);
}
//CSS规则
let rule='.btn primary{background:{{button_primary_color}};}';
//加载规则并在加载DOM后执行
window.onload=function(){addCss(rule)};
这样做效果很好。对于像这样的问题,JS是最好的!如果要生成随机颜色并使用它。这是代码。亚美尼亚人你好:)
let chars='0123456abcdef'.split('');
函数gen(){
设r='';
for(设i=0;i{
document.getElementsByClassName('btn-primary')[0]。background=gen();
}
let chars = '0123456abcdef'.split('');
function gen(){
let r = '';
for(let i=0; i<6; i++){
r += chars[Math.floor(Math.random() * chars.length)];
}
return r;
}
window.onload = () => {
document.getElementsByClassName('btn-primary')[0].background = gen();
}