[FIXED] Wie verwende ich django-colorfield in einer forms.py-Datei in django?

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)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like