2011-03-23 34 views
0

我有一個Django窗體,並且我希望ChoiceField的help_text在選項之後立即顯示,而不需要在它們之間換行。下面是我的表單代碼:如何在緊鄰單選按鈕下方的ChoiceField顯示中製作help_text?

class SettingsForm(forms.Form): 
    skin = forms.ChoiceField(choices = skin.SKINS2, 
     widget=forms.RadioSelect, 
     help_text="this alters how the website looks") 
    #...other fields... 

Django的產生這個HTML:

<ul> 
<li><label for="id_skin_0"><input checked="checked" type="radio" id="id_skin_0" 
value="main" name="skin" /> main</label></li> 
<li><label for="id_skin_1"><input type="radio" id="id_skin_1" value="bubble" 
name="skin" /> bubble</label></li> 
</ul><br />this alters how the website looks 

這裏的問題是,它顯示的時候,有選擇單選按鈕和幫助文本之間的線(注意緊接在help_text之前的<br />)。

如何刪除<br />或以其他方式強制help_text出現在單選按鈕下方?

回答

0

您是否嘗試使用label參數代替help_text

如果這些工作都沒有爲您工作,那麼只需按照您希望的方式分解HTML並將其放入模板。無論如何,我最終都會這樣做,除了最簡單的形式之外。

+0

我剛剛嘗試過使用'label'參數而不是'help_text',它將文本放在單選按鈕的左邊而不是下面。也許我可以使用CSS來縮小「
」的大小?或者更好的解決方案將是我的子類'forms.Form'類(我想要做的另一件事是把help_text放在一個'' – 2011-03-23 14:09:46

+0

我知道我可以使用HTML;我真的寧願不這樣做,因爲使用Forms更加整潔,並且一旦表單變得更容易維護,但可能會出現這種情況 – 2011-03-23 14:11:39

+0

是的,抱歉,我沒有更多的東西可以嘗試。歸結起來,那些form.as_p,as_table,as_ul是很好的捷徑,但大多數時候我最終不得不自定義它們。我通常做一次form.as_p來獲得輸出,然後我將它複製並修改爲我喜歡。 – 2011-03-23 16:17:33

相關問題