Ich habe für das Rendering Formularfelder ein eigenes Template erstellt:Django: Wie überprüft man, ob das Feld Widget in der Vorlage aktiviert ist?
<tr class="{{field.field.widget.attrs.class}}">
<th class="label">
<label for="{{field.auto_id}}">
{{field.label}}
{% if not field.field.required %}<span class="optional">(optional)</span>{% endif %}
</label>
</th>
<td class="field">
{{field}}
{% if field.errors %}<label class="error" for="{{field.auto_id}}">{{field.errors.0}}</label>{% endif %}
{% if field.help_text %}<small class="help-text">{{field.help_text}}</small>{% endif %}
</td>
</tr>
Aber ich möchte überprüfen, ob das Widget eine Checkbox ist, und wenn ja, es anders machen. Wie kann ich das in der Vorlage tun?
Hallo - Gibt es einen bestimmten Grund, warum Sie müssen es in der Vorlage zu tun, anstatt ein eigenes Widget in Form Klasse Einstellung ? –
@stevejalim: Ich kann ein benutzerdefiniertes Widget erstellen, aber es löst das Problem nicht. Ich möchte colspan = 2 setzen und das Label auf der rechten Seite haben. Dies ist ein Problem mit der Anordnung der Tabellenzeile und nicht mit der Darstellung des Widgets. – mpen
Gotcha. Ein (hacky) Weg, dies zu tun ist, eine Liste von Feldern zu übergeben, von denen bekannt ist, dass sie Checkboxen sind, und jedes Mal, wenn Sie das Feld rendern, überprüfen Sie, ob der Name in dieser Liste ist. Icky, obwohl; o) –