【问题标题】:How to use django-colorfield in a forms.py file in django?如何在 django 的 forms.py 文件中使用 django-colorfield?
【发布时间】:2021-07-31 21:08:27
【问题描述】:

我正在尝试使用Django-colorfield 创建一个可以从中选择颜色的下拉菜单。但是,输出中的优先级部分只是说 。我试过 this answer 但没有用。 Output,代码:

#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) 

【问题讨论】:

  • 色域仅在 django admin 中可用。

标签: python django


【解决方案1】:

ColorField 仅适用于 Django Admin。如果您想在模板中添加颜色选择器,我建议您创建 CharField,例如:

priority = models.CharField(max_length=7)

在您的模板中添加一个用于显示颜色选择器的 JS 插件或使用 HTML5 颜色选择器,例如:

<input id="id_priority" maxlength="7" name="priority" type="color">

【讨论】:

    猜你喜欢
    • 2011-09-20
    • 2017-12-09
    • 1970-01-01
    • 2022-06-25
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    相关资源
    最近更新 更多