Djangoテンプレートでのcolor値をテキストではなく、カラーピッカーで表示したい場合、formのクラスで対象のfieldにwidgets = {'sample_color': TextInput(attrs={'type': 'color'})}を設定すると、テンプレートでは、カラーの値ではなく、カラーピッカーで表示されます。
これをしなければ、modelでカラー値は文字列で表示されます。
model.py
class SampleData(models.Model):
#値は文字列で格納
fore_color = models.CharField(max_length=7,null="true")
forms.py
class SampleDataForm(ModelForm):
class Meta:
model = RSC_SCADULE_ITEM
fields = ('sample_color')
#下記を追加すすると、テンプレートでカラーパレットで表示される。
widgets = {
'sample_color': TextInput(attrs={'type': 'color'})
}
カラーの入力項目がカラーピッカーで表示される。
sample.html
~ 略 ~
{{ form.as_p }}
{% csrf_token %}
<div class="form-group row">
<div class="offset-md-3 col-md-9">
<button type="submit" class="btn btn-primary">送信</button>
</div>
</div>