fill out two forms (one to edit and one to create) in a single template in django?

0

My question is this, I have two forms to edit and the other to create and I want them to be in a single template, and been trying to make it work but nothing comes out, the template itself does not show any form. here I leave the reference code

Forms.py

 class Bandeja_salida_form(forms.ModelForm):
     class Meta:
        model = corresp
        fields= ['estado_envio','fecha_derivacion']
        labels = {
        'fecha_derivacion':('Fecha de salida'),
        'estado_envio':('Se enviara la informacion ahora? : SI ')
        }

        exclude = ['num','fecha_recepcion','nombre_p','nombre_s','apellido_p','apellido_m','referencia','tipo_c','persona','procedencia']


class Entrada_SalidaRegistros(forms.ModelForm):
    class Meta:
        model = entradas
        fields = ['num_nuevo','Tipo','accion']
        labels={
        'num_nuevo':('Codigo: '),
        'Tipo':('Tipo de documento '),
        'accion':('Accion a tomar')
        }
        widgets ={
        'num_nuevo':forms.Select(attrs={'class':'form=num'}),
        'Tipo':forms.TextInput(attrs={'class':'Tipo'}),
        'accion':forms.TextInput(attrs={'class':'accion'}),
        }

Views.py

class crear_salida(CreateView):
    template_name = 'entradas/form_Salida.html'
    form_class = Entrada_SalidaRegistros
    second_form_class= Bandeja_salida_form
    success_url = reverse_lazy('registros:band_pendiente')

def num_ruta(self):
    if 'dato' in self.request.GET:
        try: 
            d={
                'id':None,
                'rum':None,
            }
            a=corresp.objects.get(id=self.request.GET['dato'])
            d['id']=a.id
            d['rum']=a.num_nuevo
            return d
        except corresp.DoesNotExists:
            return None
    return None     

def get_context_data(self, **kwargs):
    context = super(crear_salida, self).get_context_data(**kwargs)
    if 'form' not in context:
        context['form'] = self.form_class(self.request.GET)
    if 'form2' not in context:
        context['form2'] = self.second_form_class(self.request.GET)
    return context

def post(self, request, pk, *args, **kwargs):
    self.object = self.get_object
    form = self.form_class(request.POST)
    form2 = self.second_form_class(request.POST)
    if form.is_valid() and form2.is_valid():
        salida = form.save(commit=False)
        salida.entradas = form2.save()
        salida.save()
        return HttpResponseRedirect(self.get_success_url())
    else:
        return self.render_to_response(self.get_context_data(form=form, form2=form2))

Registration.html

 <a onclick="return abrir_modal('{% url 'registros:crear_salida' salida.pk %}?dato={{salida.id}}')"  class="btn btn-round btn-success">
                    <i class="fa fa-envelope">  Enviar</i>
                  </a>

form.html

<form role="form" action="{% url 'registros:crear_salida' object.pk %}" method="post">
        <div class="modal-header">                
                <h3>Formulario de salida</h3>
        </div>
        <div class="modal-body">
            {% csrf_token %}
                <div class="panel panel-default">
                    <div class="panel-body">                     

                     <p class="form-control-static"><label>Codigo </label> {{view.num_ruta.rum}}</p>
                      <input type="hidden" name="codigo" value="{{view.num_ruta.id}}"></input>
                      {% for input in form %}
                      {% if not forloop.first%}
                      {{ input.label}} {{ input}} <br>

                      {%endif%}
                      {% endfor %}
                      {{form2.estado_envio}}
                      {{form2.fecha_derivacion}}
                    </div>
                </div>
        </div>
        <div class="modal-footer">
            <div class="col-lg-12 text-right">
                <input type="submit" class="btn btn-primary" name="submit" value="Guardar">
                    <button type="button" class="btn btn-default" onclick="return cerrar_modal()">
                    Cancelar
                    </button>
            </div>
        </div>
    </form>
    
asked by Lun 11.09.2018 в 21:39
source

0 answers