Django:如何自定义表单 ChoiceField 显示?

Django: How to customize a form ChoiceField display?

我正在使用 Django 创建一个极简主义商店。

class CardOrderForm(forms.Form):
    order = forms.ChoiceField(
        label="",
        choices=ORDER_CHOICES,
        widget=forms.RadioSelect)

ORDER_CHOICES = (
    ('CARDS_100_G', 'Pack de 100 cartes génériques'),
    ('CARDS_200_G', 'Pack de 200 cartes génériques'),
    ('CARDS_500_G', 'Pack de 500 cartes génériques'))

然后,我创建了一个对象来将价格映射到订单选择:

ORDER_PRICES = {
    # Without/With TAXES
    'CARDS_100_G': (39, 46.80),
    'CARDS_200_G': (69, 82.80),
    'CARDS_500_G': (149, 178.80))}

目前,在我的模板中,我有 {{ form.order }},它显示了 3 个选项的原始列表,如下所示:

但是,我找不到自定义此显示以便能够在商品旁边添加价格的方法。我想要这样的结果:

有什么想法吗?谢谢

您可以动态创建一组新的选择。

ORDER_CHOICES_WITH_PRICES = [
    (key, "%s - %s€" % (val, ORDER_PRICES[key][0]))
    for key, val in ORDER_CHOICES
]