Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Template de crear formulario ###
- {% extends 'base_generic.html' %}
- {% load bootstrap4 %}
- {% block content %}
- <div class="row">
- </div>
- <div class="row">
- <h2>Formulario Seguridad</h2>
- </div>
- <div class="row">
- <h2><span class="label label-default">{{ preguntas.PRG_TIP}}</span></h2>
- </div>
- <div class="row">
- <form action="." method="post">
- {% csrf_token %}
- {{ resp_form.management_form }}
- {% for resp in resp_form %}
- <b>{{ resp.RESP_PRG.value}} </b>
- {% bootstrap_field resp.RESP_PRG show_label=False %}
- {% bootstrap_field resp.RESP_FORM show_label=False %}
- {% bootstrap_field resp.RESP_RESUL show_label=False %}
- {% endfor %}
- <input class="btn btn-success" type="submit" value="Guardar"/>
- </form>
- </div>
- {% endblock %}
- ### View.py ###
- class FormSeguridadView(CreateView):
- form_class = RespFormSeguridad
- RespFormset = formset_factory(RespFormSeguridad, extra=0)
- template_name = 'formularios/formSeguridad.html'
- def get_context_data(self, **kwargs):
- context = super(FormSeguridadView, self).get_context_data(**kwargs)
- context['preguntas'] = PRG.objects.all()
- context['resp_form'] = self.RespFormset(initial=[
- {'RESP_FORM': 1, 'RESP_PRG': 1},
- {'RESP_FORM': 1, 'RESP_PRG': 2},
- {'RESP_FORM': 1, 'RESP_PRG': 3},
- {'RESP_FORM': 1, 'RESP_PRG': 4},
- {'RESP_FORM': 1, 'RESP_PRG': 5},
- {'RESP_FORM': 1, 'RESP_PRG': 6},
- {'RESP_FORM': 1, 'RESP_PRG': 7},
- {'RESP_FORM': 1, 'RESP_PRG': 8},
- ])
- return context
- def post(self, request, *args, **kwargs):
- resp_formset = self.RespFormset(self.request.POST)
- print(resp_formset.cleaned_data)
- if resp_formset.is_valid():
- for respuestas in resp_formset:
- respuestas.save()
- return HttpResponseRedirect(reverse("index"))
- ### Forms.py ###
- class RespFormSeguridad(forms.ModelForm):
- class Meta:
- model = RESP
- fields = '__all__'
- def __init__(self,*args, **kwargs):
- super(RespFormSeguridad,self).__init__(*args, **kwargs)
- self.fields['RESP_FORM'].widget = forms.HiddenInput()
- ### Models.py ###
- ''' Tabla RESP '''
- class RESP(models.Model):
- RESP_ID = models.AutoField(primary_key=True)
- tipos_resp = (
- ('0', 'Sí Cumple'),
- ('1', 'No Cumple'),
- ('2', 'No Aplica')
- )
- RESP_RESUL = models.CharField(max_length=1, choices=tipos_resp)
- RESP_FORM = models.ForeignKey("FORM", on_delete=models.SET_NULL, null=True, blank=True ,db_column="RESP_FORM")
- RESP_PRG = models.ForeignKey("PRG", on_delete=models.SET_NULL, null=True, blank=True, db_column="RESP_PRG")
- class Meta:
- db_table = "RESP"
- def __str__(self):
- return self.RESP_RESUL
- def get_absolute_url(self):
- return reverse("index")
- ''' Tabla PRG '''
- class PRG(models.Model):
- PRG_ID = models.AutoField(primary_key=True)
- PRG_NOM = models.CharField(max_length=250)
- tipo_pregunta = (
- ('1', 'Documentación en Obra'),
- ('2', 'Emergencias'),
- ('3', 'Equipos de protección individual'),
- ('4', 'Equipos y Herramientas'),
- ('5', 'Cinco Reglas de Oro'),
- ('6', 'Condiciones de trabajo y señalización y protección'),
- ('7', 'Vehículos y maquinarias')
- )
- PRG_TIP = models.CharField(max_length=1, choices=tipo_pregunta)
- PRG_ORD = models.CharField(max_length=4)
- class Meta:
- db_table = "PRG"
- def __str__(self):
- return self.PRG_ORD+ " " + self.PRG_NOM
- def get_absolute_url(self):
- return reverse("index")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement