Django表单框架非常优秀,并通过以下方式呈现整个表单。Django表单模板设计类
{{ form.as_p }}
对于登记表,在其上方转换成:
<p><label for="id_username">Username:</label> <input id="id_username" type="text" name="username" maxlength="30" /> Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores).</p>
<p><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_firstname">Firstname:</label> <input type="text" name="firstname" id="id_firstname" /></p>
<p><label for="id_lastname">Lastname:</label> <input type="text" name="lastname" id="id_lastname" /></p>
<p><label for="id_password1">Password:</label> <input type="password" name="password1" id="id_password1" /></p>
<p><label for="id_password2">Password confirmation:</label> <input type="password" name="password2" id="id_password2" /></p>
但对于设计的缘故,我想类添加到在形式的每个元件,如下所示:
<p><label for="id_email" class="field-title">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_firstname" class="field-title">Firstname:</label> <input type="text" name="firstname" id="id_firstname" /></p>
<p><label for="id_lastname" class="field-title">Lastname:</label> <input type="text" name="lastname" id="id_lastname" /></p>
<p><label for="id_password1" class="field-title">Password:</label> <input type="password" name="password1" id="id_password1" /></p>
<p><label for="id_password2" class="field-title">Password confirmation:</label> <input type="password" name="password2" id="id_password2" /></p>
将这些类添加到各个表单元素的标准方式是什么?是否需要手动扩展模板中的表单以添加这些类(在这种情况下,表单中的更改也应该在模板中进行相应的更改);这太费事,特别是因为如果错误需要添加,那么也会为每个字段显示错误。
或者是从表单类或视图提供一些类,这似乎有点难看。
我不知道太多的CSS,应该有可能为给定的窗体类中的指定标签定义这些类。如果是的话,这应该是最好的方式去做。
如何添加设计器类来形成元素。你认为什么是最好的方式来添加它们。
我第二个这样做,注意事项: (1)如果您的目标是将所有标签与单一样式相关联。然后你可以调整你的CSS来匹配。 例如,表单标签{background-color:red;但是,如果您想在不同的标签上使用不同的样式,那么这将不起作用 - 因为您在实际标签上没有类标签。 – joej 2009-07-19 00:44:44