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>