/ / ¿Cómo agregar imágenes en las opciones de Django RadioSelect individualmente? - python, django

¿Cómo agregar imagen en Django RadioSeleccionar las opciones de forma individual? - Python, Django

forms.py

from django import forms


BINDING = (
("1","Coil Bound Paperback"),
("2","Perfect Bound Paperback"),
("3","Saddle Stitch Paperback"),
)

class BindingForm(forms.Form):
my_binding_choice = forms.ChoiceField(choices=BINDING,widget
=forms.RadioSelect())

views.py

from django.shortcuts import render,render_to_response
from .forms import MyForm,BindingForm


def my_binding_view(request):
form = BindingForm()
return render(request,"base.html",{"binding_form":form})

template.html

{% for radio in binding_form %}
<div class="myradio">
{{ radio }}
</div>
{% endfor %}

"" "¿Pero quiero agregar imágenes a mis elecciones para que se muestren en la lista de selección de radio, o eso se puede lograr en otro método?" ""

Respuestas

0 para la respuesta № 1

Puedes subclase RadioSelect y especifica tu propio option_template_name que determinará cómo se representa cada opción individual:

class CustomRadioSelect(RadioSelect):
option_template_name = "myapp/radio_option_custom.html"

# Then use this widget in your form
class BindingForm(forms.Form):
my_binding_choice = forms.ChoiceField(choices=BINDING,
widget=CustomRadioSelect())

Luego proporcione una plantilla myapp/radio_option_custom.html eso hace que cada opción sea como quieras. La plantilla predeterminada es aquí para que pueda comenzar con eso y agregar los bits que necesite.