Django自定义表单渲染

时间:2012-12-08 17:23:52

标签: python django forms

当我将{form}放在某个模板中时,它会呈现:

 <tr><th></th><td><input type="text" name="login" maxlength="10" /></td></tr>
<tr><th></th><td><input type="text" name="email" /></td></tr>
<tr><th></th><td><input type="text" name="password" maxlength="10" /></td></tr>

但如果我不需要tr,th,td,p标签怎么办?这就是我想要的。

<input type="text" name="login" placeholder="Имя пользователя"/>
<input type="email" name="email" placeholder="E-mail"/>
<input type="password" name="password" placeholder="Пароль"/>

1 个答案:

答案 0 :(得分:1)

您目前看到的是form.as_table的输出,它为您提供呈现为tr元素的表单,您可以将其插入到一组标记中。您需要查看django文档中的Customizing the form template,以使它们完全按照您的要求执行操作。该链接通过示例引导您完成。

要获取输入小部件,遍历表单并仅插入字段本身:

 <form action="" method="get">
     {% for field in form %}
        {{ field }}
     {% endfor %}
 </form>