Ausgabe
Ich versuche, Django-Colorfield zu verwenden, um ein Dropdown-Menü zu erstellen, aus dem eine Farbe ausgewählt werden kann. Der Prioritätsabschnitt in der Ausgabe sagt jedoch nur <colorfield.fields.ColorField> . Ich habe diese Antwort versucht , aber es hat nicht funktioniert. Ausgabe , Code:
#models.py
from django.db import models
from colorfield.fields import ColorField
class Todo(models.Model):
text = models.CharField(max_length=40)
complete = models.BooleanField(default=False)
COLOR_CHOICES = [
("#8b0000", "red"),
("#ffff00", "yellow"),
("#006400","green")
]
priority = ColorField(choices=COLOR_CHOICES)
def __str__(self):
return self.text
#forms.py
from django import forms
from colorfield.fields import ColorField
from .models import Todo
class TodoForm(forms.Form):
text = forms.CharField(max_length=40,
widget=forms.TextInput(
attrs={'class' : 'form-control', 'placeholder' : 'Enter todo here', 'aria-label' : 'Todo', 'aria-describedby' : 'add-btn'}))
COLOR_CHOICES = [
("#8b0000", "red"),
("#ffff00", "yellow"),
("#006400","green")
]
priority = ColorField(choices=COLOR_CHOICES)
Lösung
Das ColorField funktioniert nur in Django Admin. Wenn Sie einen Farbwähler in Ihrer Vorlage möchten, würde ich vorschlagen, CharField zu erstellen, wie:
priority = models.CharField(max_length=7)
Fügen Sie Ihrer Vorlage entweder ein JS-Plugin hinzu, um einen Farbwähler anzuzeigen, oder verwenden Sie den HTML5-Farbwähler, zum Beispiel:
<input id="id_priority" maxlength="7" name="priority" type="color">
Beantwortet von – Vincent
Antwort geprüft von – Terry (FixError Volunteer)