Djangoviews.py 从常量列表中查找值

问题描述 投票:0回答:1

在 djangoviews.py 中,如何从输入中获取选择(数字)才能获得匹配的“描述”?例如用户选择 3 并返回“Yellow”

colors = [
    ('0','black'),
    ('1','white'),
    ('2','Red'),
    ('3','Yellow'),
    ('4','Blue'),
    ('5','Green')
    ]

...

colorSelection = form.cleaned_data.get('color')

#lookup color description
colorDescription = ???
django django-views
1个回答
0
投票

您需要制作一本字典,或者至少需要一些东西来查找描述,所以:

COLORS = [
    ('0', 'black'),
    ('1', 'white'),
    ('2', 'Red'),
    ('3', 'Yellow'),
    ('4', 'Blue'),
    ('5', 'Green'),
]

# …

colorSelection = form.cleaned_data.get('color')
colorDescription = dict(COLORS).get(colSelection)

然而,从 开始,人们经常用

TextChoices
来指定这些选择,这使得查找更加方便:

class ColorChoices(models.TextChoices):
    BLACK = '0', 'black'
    WHITE = '1', 'white'
    RED = '2', 'red'
    YELLOW = '3', 'yellow'
    BLUE = '4', 'blue'
    GREEN = '5', 'green'

然后我们可以通过以下方式查找:

ColorChoices(colSelection).label
© www.soinside.com 2019 - 2024. All rights reserved.