如何自定义由django-uni-form设计的表单?

时间:2009-12-15 07:04:57

标签: html css django django-forms

我正在使用django-uni-form使用过滤器my_form | as_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做到这一点?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您需要循环遍历表单元素并自行呈现uniForm标记。或者,您可以根据ID或类自定义每个输入的外观。

我要做的是查看它生成的标记,然后遍历生成相同标记的元素并自定义它们。有关详细信息,请参阅the Django docs

答案 1 :(得分:0)

我和你的问题一样。我认为文本输入的长度很容易通过CSS更改。我更关心输入背后的自定义html元素,在你的情况下百分比标记。我找不到一个简单的解决方案。看起来我们必须模仿在django-uni-form模板中呈现字段的方式或者编写我们自己的过滤器。我还在等待一个更优雅的解决方案。