2009-12-15 42 views
2

我使用的Django單形式使用過濾器my_form樣式我的表單| as_uni_form:如何自定義由django-uni-form設計的表單?

<form class="uniForm" id="my_form" method="post" action="./"> 
     <fieldset class="inlineLabels"> 
      {{ my_form|as_uni_form }} 
      <div class="form_block"> 
       <input type="submit" value="Submit"/> 
      </div> 
     </fieldset> 
</form> 

它看起來非常好。但我需要定製它。

例如,窗體的「百分比」字段之一是IntegerField類型。它被渲染爲<input type="text">。問題在於文本框非常寬,我只想使它只有2個字符寬。另外我想在文本框後面添加一個百分號「%」,以便用戶知道他們是否在文本框中輸入數字「10」,這意味着10%。

反正有django-uni-form嗎?

感謝您的幫助。

回答

0

您需要遍歷表單的元素並自己渲染uniForm標記。或者,您可以根據ID或類自定義每個輸入的外觀。

我要做的就是看它產生的標記,然後遍歷生成相同標記的元素並對其進行自定義。有關更多信息,請參見the Django docs

0

我有和你一樣的問題。我認爲文本輸入的長度很容易通過CSS來改變。我更關注輸入背後的自定義html元素,在您的案例百分比標記中。我找不到一個簡單的解決方案。看起來好像我們不得不模仿字段在django-uni-form模板中呈現的方式或者編寫我們自己的過濾器。我仍在等待更優雅的解決方案。