gpt4 book ai didi

python - 如何格式化 Django 表单中选择字段中的选项标签?

转载 作者:行者123 更新时间:2023-12-01 09:16:58 26 4
gpt4 key购买 nike

我想更改 Django 表单选择选项字段的选项中显示的文本。下面是一些示例代码:

CHOICES = (
('T1', 'Thing 1'),
('T2', 'Thing 2')
)

class ExampleForm(forms.Form):
field = forms.ChoiceField(
widget = forms.Select(),
choices = CHOICES,
)

我不确定是否需要任何其他代码来解决该问题,但是当我将此表单呈现到模板中时,CHOICES 的值将显示在选择字段下拉列表中。我想要的是将键和值都放入下拉列表中显示的内容,同时仍然等于后端的键。像这样:

Field:
--------------
| v|
--------------
--------------
|T1 - Thing 1|
|T2 - Thing 2|
--------------

有没有办法在 forms.py 代码中完成这种格式化?

最佳答案

最简单的可能是简单地动态创建不同的选择列表:

CHOICES = (
('T1', 'Thing 1'),
('T2', 'Thing 2')
)

class ExampleForm(forms.Form):
field = forms.ChoiceField(
widget = forms.Select(),
choices = <b>[(k, '{} - {}'.format(k, v)) for k, v in CHOICES]</b>,
)

因此,我们在这里创建第二个列表,使用列表理解,它包含 ('T1',而不是 ('T1', 'Thing 1') ', 'T1 - 事物 1') 作为项目。我们不会改变CHOICES元组,我们只是构建一个新列表来提供给ChoiceField

关于python - 如何格式化 Django 表单中选择字段中的选项标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com