Django自定义表单渲染

时间:2010-09-01 22:40:58

标签: html django forms

使用as_p方法渲染django表单时,传统上会得到类似:

<p>Subject: <input type="text" name="subject" maxlength="100" /></p>

如果您已定义以下字段:

subject = forms.CharField(max_length=100)

字段是否有一些额外的属性可以自定义它们的呈现方式,以便您可以向它们添加任意html。更具体地说,我想在每个&lt; p&gt;之后包含一些示例文本。标签,所以而不是呈现以下内容:

<p>Subject: <input type="text" name="subject" maxlength="100" /></p>
<p>Message: <input type="text" name="message" value="Hi there" /></p>
<p>Sender: <input type="text" name="sender" value="invalid e-mail address" /></p>

渲染:

<p>Subject: <input type="text" name="subject" maxlength="100" /></p><div> Sample Text 1 </div>
<p>Message: <input type="text" name="message" value="Hi there" /></p><div> Sample Text 2 </div>
<p>Sender: <input type="text" name="sender" value="invalid e-mail address" /></p><div> Sample Text 3</div>

1 个答案:

答案 0 :(得分:2)

在表单字段中使用help_text可以根据需要呈现示例文本,但不能在div

中呈现
<p><label for="id_f1">F1:</label> <input type="text" name="f1" id="id_f1" /> Sample Text 1</p>

字段定义

f1 = forms.CharField(help_text='Sample Text 1')