2017-06-25 83 views
0

如果我舉個例子的Django手冊:選擇的Django的顯示值

from django import forms 

FAVORITE_COLORS_CHOICES = (
    ('blue', 'Blue'), 
    ('green', 'Green'), 
    ('black', 'Black'), 
) 

class SimpleForm(forms.Form): 
    favorite_colors = forms.MultipleChoiceField(
     required=False, 
     widget=forms.CheckboxSelectMultiple, 
     choices=FAVORITE_COLORS_CHOICES, 
    ) 

在我的模板,我只是想顯示的複選框的值。 事情是這樣的:

{% for item in favorite_colors %} 
    {{value_of_checkbox}} {{item}} 
{% endfor %} 

我想{{value_of_checkbox}}回報 「藍色」, 「綠色」 和 「黑」

這樣一來,{{item}}回 「藍」, 「綠」 和 「黑」

任何方式來做到這一點?

感謝

回答

2
{% for item in favorite_colors %} 
    {{get_item_display}} {{item}} 
{% endfor %} 

試試這個希望它有助於

+0

謝謝你,我嘗試別的,您的帖子是有用的 – GrandGTO

+0

歡迎您兄弟,高興地幫助。 :) – Exprator

-1

你並不需要手動渲染。只是在你的模板中使用這樣的:

{{ favorite_colors }} 

如果您需要在本節額外的CSS類,將它們添加在表單控件,您forms.py裏面,像這樣:

... 
widget=forms.CheckboxSelectMultiple(atts={'css_class': 'a_value'}) 
... 
+0

出於某種原因,我需要手動顯示。 – GrandGTO

+1

然後你可以使用自定義過濾器,你需要調用你的forloop中的每個實例。 –

+0

你說得對。謝謝 – GrandGTO