Cuando definir una clase Django forma similar a esto:¿Cómo creo un formulario de Django que muestra una etiqueta de casilla de verificación a la derecha de la casilla de verificación?
def class MyForm(forms.Form):
check = forms.BooleanField(required=True, label="Check this")
Se expande a HTML que se ve así:
<form action="." id="form" method=POST>
<p><label for="check">Check this:</label> <input type="checkbox" name="check" id="check" /></p>
<p><input type=submit value="Submit"></p>
</form>
Me gustaría que el elemento de entrada de casilla de verificación para tener una etiqueta que sigue a la casilla de verificación, no al revés. ¿Hay alguna manera de convencer a Django para que haga eso?
[Editar]
Gracias por la respuesta de Jonas - todavía, mientras que corrige el problema Pregunté por (etiquetas casilla se prestan a la derecha de la casilla de verificación) que introduce un nuevo problema (todo el widget de las etiquetas se representan a la derecha de sus widgets ...)
Me gustaría evitar anular _html_output() ya que obviamente no está diseñado para eso. El diseño que se me ocurriría sería implementar un método de salida html de campo en las clases de Campo, anular el del campo Booleano y usar ese método en _html_output(). Lamentablemente, los desarrolladores de Django optaron por ir de una manera diferente, y me gustaría trabajar dentro del marco existente tanto como sea posible.
CSS suena como un enfoque decente, excepto que no sé suficiente CSS para llevarlo a cabo o incluso para decidir si me gusta este enfoque o no. Además, prefiero el marcado que todavía se asemeja al resultado final, al menos en orden de procesamiento.
Además, como puede ser razonable tener más de una hoja de estilo para un marcado en particular, hacer esto en CSS podría significar tener que hacerlo varias veces para varios estilos, lo que hace que CSS sea la respuesta incorrecta.
[Editar]
Parece como si estuviera respondiendo a mi propia pregunta a continuación. Si alguien tiene una mejor idea de cómo hacer esto, no seas tímido.
¿Puede usted proporcionar el código para pretty_checkbox? Mi propio marcado preferido para esto es – EoghanM
No tengo el código a mano ahora. No fue muy elaborado, si no recuerdo mal, es simplemente una función que alimenta un pequeño fragmento de HTML, y cambia la etiqueta y la entrada si la entrada es una casilla de verificación. El marcado lo genera Django, por lo que cualquier preferencia que pueda tener es probablemente irrelevante. –