将Django Choices表单字段的详细名称传递给查看上下文

时间:2017-02-07 05:46:13

标签: django django-forms django-templates django-views

我正在构建一个包含许多choices字段的简单订单。每个选项字段都有很多选项..表单效果很好,它重定向到感谢页面,通过条带传递上下文,账单并向管理员发送通知电子邮件。但是当我收到新订单的电子邮件时,我会获得不同选择字段的金额,但如果没有详细标签,则不知道它属于什么。下面是我的一个选择字段和感谢页面上的返回值的示例。

下载样本选择字段

MERCHANDISE_ORDER = (
    ('10000', 'Flag with 5X7 Certificate'),
    ('2000', 'MSMA Hat'),
    ('500', 'Plaque Certificate'),
    ('500', 'Flag and Plaque Certificate'),
)

模板标记

...
<strong>Merchandise Order:</strong> ${{ merchandise_order }} <br>
...

我的感谢页面和电子邮件中的返回值

...
Merchandise Order: $5 
...

正如你所看到的那样,有4个选择,所以如果我能得到Merchandise Order: Plaque Certificate - $5的返回值或者类似且冗长的东西,那将会很棒。

我没有使用模型表单,因此我可以控制样式,我使用{{ form.merchandise_order }}等手动将表单字段添加到我的模板中。谢谢。

1 个答案:

答案 0 :(得分:1)

我假设您在模型名称some_field中有这样的字段;

some_field = models.CharField(max_length=5, choices=MERCHANDISE_ORDER)

您可以从这样的选择中获取详细的名称;的get_的 some_field _display()

queryset.get_some_field_display()

并在模板中;

{{queryset.get_some_field_display}}

您可以查看here

中的文档