コード例 #1
0
ファイル: views.py プロジェクト: vpino/servicios-canaima
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))
コード例 #2
0
ファイル: views.py プロジェクト: vpino/servicios-canaima
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))