【发布时间】:2020-06-19 07:04:34
【问题描述】:
我需要一些帮助:
我希望我的视图将颜色作为上下文参数传递给模板,以覆盖页面显示的 svg 文件中的默认颜色。
我有一个颜色常量列表:
COLORS = {"W": "#ffffff", "V": "#065636", "B": "#0253A5", "R": "#CC1011"}
我的视图定义中有上下文变量的定义:
view_context = {
'user_display_name': user.user_display,
'lightcolor': COLORS[user.lightcolor],
}
return render(request, 'pages/page5.html', context=view_context)
在我的模板 (pages/page5.html) 中,我有一个 <style> 部分来定义 CSS 样式:
<style>
.X {
/* fill: #065636 !IMPORTANT; */
fill: "{{ lightcolor }}" !IMPORTANT;
}
</style>
.X {fill: #065636 !IMPORTANT;} 工作正常
而.X {fill: "{{ lightcolor }}" !IMPORTANT;}
不起作用并被忽略,我猜是因为 lightcolor 是字符串 "#065636" 而不是 RGBcolor #065636
类似地,.X {fill: {{ lightcolor }} !IMPORTANT;} 甚至似乎都不是公认的语法
我在网上找不到任何相关的东西
如何将颜色作为上下文参数传递到模板的 <style> 部分并使其正常工作?
【问题讨论】:
-
fill属性用于setting the color of an SVG shape。这就是你想要做的吗? -
是的——正如我所说,直接使用颜色编码,代码按我的意愿执行。用变量替换颜色编码时出现问题
标签: django django-views django-templates