layouts - forms.form django
Django Crispy Forms: reemplace etiquetas y botones de radio con imágenes (1)
Soy el desarrollador principal de formas crujientes. Puede hacer esto usando Field
objeto de diseño de Field
y usando una plantilla personalizada.
Field(''field_name'', template="custom_inline_radio.html")
Otra opción que tiene es crear su propio objeto de disposición subclassing InlineRadio
. De esa manera solo tendrías que hacer:
CustomInlineRadio(''field_name'')
En realidad, lo que intentas hacer es básicamente anular el resultado de un widget predeterminado en Django y eso probablemente tenga más sentido si usas un widget personalizado en tu formulario Django, las formas crujientes se jugarán bien con él. Escribí un artículo sobre widgets y formularios de Django que podría interesarte.
Tengo un formulario donde un cierto campo es un selector de radio con 3 opciones. Digamos que esto representa Bueno, Más o Menos, y Malo.
Logré ponerlos en la misma línea con InlineRadio, así:
self.helper.layout = Layout(InlineRadio(field_name))
Ahora, necesito 2 cosas:
1) reemplace cada opción, que se representa como un botón de radio y su etiqueta con una imagen predefinida.
2) Agregue 2 imágenes, una a la izquierda y otra a la derecha de los botones de opción. Entonces, al final, tendré 5 imágenes seguidas. De izquierda a derecha: Image of Smile (just the image)
- Image of selector (Good)
- Image of selector (More-or-Less)
- Image of selector (Bad)
- Image of Sad face (just the image
)
¿Es posible lograrlos con django-crujiente? Si no, ¿cómo puedo lograr esto?
Gracias por adelantado.