2014-02-23 56 views
3

當我添加一個parathesis到它的印在我的HTML與附加一個冒號以下標籤字符串附加一個冒號:爲什麼我的字符串有當輸出到HTML

question_3 = forms.MultipleChoiceField(choices=QUESTION_3_CHOICES, 
widget=forms.CheckboxSelectMultiple(), label = mark_safe('Which of 
these styles do you like? (choose multiple)')) 

在我的表單標籤獲取在我的HTML這樣的輸出:

Which of these styles do you like? (choose multiple): 

當我刪除「(多選)」,它正確打印像這樣沒有冒號附加:

Which of these styles do you like? 

我試圖將所有的文本使用mark_safe通過在此之前爲Unicode:

question_3 = forms.MultipleChoiceField(choices=QUESTION_3_CHOICES, 
widget=forms.CheckboxSelectMultiple(), label = mark_safe('Which of 
these styles do you like? (choose multiple)').decode('unicode-escape')) 

但如果問題是沒有解決它......

回答

2

「爲什麼出現這種情況?」然後看看基本形式類的源(在django.forms.forms.BaseForm):

if self.label_suffix: 
    if label[-1] not in ':?.!': 
     label += self.label_suffix 
label = bf.label_tag(label) or '' 

默認情況下,基本形式構造集label_suffix =「:」。

如何解決?嘗試在初始化表單時傳遞label_suffix,很可能它從BaseForm繼承。

+0

謝謝 - 修好了! – MikeBrody

相關問題