Wenn Sie dem Formular keinen Code hinzufügen möchten (wie in den Kommentaren zu @ shadfcs Antwort erwähnt), ist dies sicherlich möglich. Hier sind zwei Optionen.
Erstens verweisen Sie nur die Felder einzeln im HTML, anstatt das gesamte Formular auf einmal:
<form action="" method="post">
<ul class="contactList">
<li id="subject" class="contact">{{ form.subject }}</li>
<li id="email" class="contact">{{ form.email }}</li>
<li id="message" class="contact">{{ form.message }}</li>
</ul>
<input type="submit" value="Submit">
</form>
(Beachten Sie, dass ich es auch in eine unsortierte Liste geändert habe .)
Zweitens beachten Sie in den Dokumenten zur Ausgabe von Formularen als HTML , Django:
Die Feld-ID wird generiert, indem dem Feldnamen 'id_' vorangestellt wird. Die ID-Attribute und Tags sind standardmäßig in der Ausgabe enthalten.
Alle Ihre Formularfelder haben bereits eine eindeutige ID . So würden Sie verweisen id_subject in Ihrem CSS - Datei Stil das Thema Feld. Ich sollte beachten, dass sich das Formular so verhält, wenn Sie den Standard- HTML-Code verwenden, für den nur das Formular gedruckt werden muss, nicht die einzelnen Felder:
<ul class="contactList">
{{ form }} # Will auto-generate HTML with id_subject, id_email, email_message
{{ form.as_ul }} # might also work, haven't tested
</ul>
Weitere Optionen für die Ausgabe von Formularen finden Sie im vorherigen Link (Sie können Tabellen usw. erstellen).
Hinweis - Mir ist klar, dass dies nicht mit dem Hinzufügen einer Klasse zu jedem Element identisch ist (wenn Sie dem Formular ein Feld hinzugefügt haben, müssen Sie auch das CSS aktualisieren). Es ist jedoch einfach genug, alle Felder anhand der ID zu referenzieren in Ihrem CSS wie folgt:
#id_subject, #id_email, #email_message
{color: red;}