def generic_edu_edit(request, package_id): #Usamos el metodo get_object_or_404 donde le pasamos 2 parametos el objeto del modelo y un id # lo guardamos en un objeto, y si no existe retornamos a la pagina de error 404 package = get_object_or_404(PackageGenericEdu, pk=package_id) #Si el metodo enviado por el formulario es POST if request.method == 'POST': #Le pasamos los datos del form mas la instancia del objeto capturado en el metodo get_object_or_404 form = PackageGenericEduForm(request.POST, instance=package) #Validamos que los datos enviados se han correctos (campos no vacios, validaciones) if form.is_valid(): #Insertamos en el base de datos el registro actualizado form.save() #retornamos a la vista generic_edu que tiene la lista de paquetes y le pasamos el id return redirect('generic_edu') #Si los datos no fueron enviados por post else: #Instaciamos un objeto de tipo PackageGenericEduForm y le mostramos el registro #capturado con el metodo get_object_or_404 form = PackageGenericEduForm(instance=package) #Retornamos al template generic_edu_edit.html y le pasamos el formulario instanciado return render_to_response('info/generic_edu_edit.html', {'form': form}, context_instance=RequestContext(request))
def generic_edu_create(request): #Si el metodo enviado por el formulario es POST if request.method == 'POST': #Instanciamos un objeto de tipo PackageGenericEduForm y le pasamos como parametros los elementos #que enviaron por el formulario y lo guardamos en un objeto form = PackageGenericEduForm(request.POST) #Validamos que los datos enviados se han correctos (campos no vacios, validaciones) if form.is_valid(): #Si usamos ModelForm si pasa las validaciones simplemente le decimos que # lo inserte en la base de datos con form.save() ya el metodo hace la instancia por si solo # del modelo pasado y lo inserta form.save() #retornamos a la vista de paquetes educativos return redirect('generic_edu') #Si los datos no fueron enviados por post else: #Instaciamos un objeto de tipo PackageGenericEdu form = PackageGenericEduForm() #Retornamos al template generic_edu_create.html y le pasamos el formulario instanciado return render_to_response('info/generic_edu_create.html', {'form': form}, context_instance=RequestContext(request))