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