【发布时间】:2013-10-23 13:17:51
【问题描述】:
我有以下型号
class Color(models.Model):
"""
Colors
"""
name = models.CharField(max_length=50, db_column="name", unique=True)
hex = models.CharField(max_length=6, db_column="hex", unique=True)
此模型是其他模型的外键,因此表示为下拉列表。 我想修改这个列表,使它看起来像
<select>
<option style="background-color:#hex1">name1</option>
<option style="background-color:#hex2">name2</option>
</select>
我知道 django 已经这样做了,除了样式。
我也知道我需要扩展 select Widget 并覆盖 render_option 方法,但我不知道如何将十六进制值传递给新的小部件。
我该怎么做?
谢谢。
【问题讨论】:
-
您这样做的目的是什么?如果要设置表单样式,则应使用 css。您提供的背景颜色变量也无效。
-
我想要视觉颜色选择而不是简单。如果每个选项都有不同的背景,CSS 将如何提供帮助?
-
您是否尝试在选项文本旁边显示图像或样本来创建选择?
-
我不想选择图像。我只想根据 db 的值设置选项的背景。
标签: python django django-templates django-widget