Python 在Django中自定义选择

Python 在Django中自定义选择,python,django,django-templates,django-widget,Python,Django,Django Templates,Django Widget,我有下面的型号 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) 此模型是其他模型的外键,因此表示为下拉列表。 我想修改此列表,使其看起来像 <

我有下面的型号

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>

名称1
姓名2
我知道django已经做到了,除了样式。 我还知道我需要扩展select小部件并覆盖
render_option
方法,但我不知道如何将十六进制值传递给新的小部件。 我怎么能把它弄坏


谢谢。

除非我误解了这个问题,否则您可以使用基本的django模板。假设您将颜色查询集传递为
颜色
,那么您将使用:

<select>
{% for colour in colours %}
<option style="background-color:#{{ colour.hex }}">{{ colour.name }}</option>
{% endfor %}
</select>

{%用于颜色中的颜色%}
{{color.name}
{%endfor%}

您这样做的目的是什么?如果你想设计表单的样式,你应该使用css。您提供的背景颜色变量也无效。我希望选择视觉颜色而不是简单颜色。如果每个选项都有不同的背景,CSS会有什么帮助?您是否试图创建一个选择,并在选项文本旁边显示一个图像或样例?我不想使用图像进行选择。我只想根据db中的值设置选项的背景。