No he estado programando durante más de un año y estoy un poco oxidado en algunos aspectos. Tengo un formulario django diseñado usando crispy_forms . Nada muy original: un montón de botones de radio, cuadro de texto...
Objetivo : mi propósito es tener un botón generar_informe que, una vez que se hace clic, abre debajo del botón un cuadro de texto con un texto generado utilizando los valores seleccionados para los campos anteriores.
Creé en models un método __str__ con el texto que quiero. Pero no estoy seguro de que ese sea el lugar adecuado para tal función.
Puedo tener un cuadro de texto oculto que solo se muestra una vez que alguien hace clic en el botón generar_informe usando javascript, pero no sé cómo pasar el texto con los datos. ¿Alguna idea?
[formularios.py]
from .models import Foo from crispy_forms import bootstrap, helper, layout class FooForm(forms.ModelForm): class Meta: model = Foo fields = "__all__" def __init__(self, request, *args, **kwargs): self.request = request super().__init__(*args, **kwargs) actions = bootstrap.FormActions(layout.Submit("save", _("Save")), bootstrap.StrictButton("generate_report", css_class="btn-success")) self.helper = helper.FormHelper() self.helper.form_action = self.request.path self.helper.form_method = "POST" self.helper.form_class = "blueForms" self.helper.layout = layout.Layout( field1, field2, field3, actions ) self.form_tag = False self.render_required_fields = False