Ejemplo n.º 1
0
def repositorios_edit(request, repositorio_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
    repositorio = get_object_or_404(Repositorio, pk=repositorio_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 = RepositorioForm(request.POST, instance=repositorio)

        #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 que tiene la lista de paquetes y le pasamos el id
            return redirect('repositorios_list')

    #Si los datos no fueron enviados por post
    else:
        #Instaciamos un objeto de tipo RepositorioForm y le mostramos el registro
        #capturado con el metodo get_object_or_404
        form = RepositorioForm(instance=repositorio)

    #Retornamos al template gereric_edit.html y le pasamos el formulario instanciado
    return render_to_response('info/repositorios_edit.html', {'form': form},
                              context_instance=RequestContext(request))
Ejemplo n.º 2
0
def repositorios_create(request):

    #Si el metodo enviado por el formulario es POST
    if request.method == 'POST':

        #Instanciamos un objeto de tipo Repositorio y le pasamos como parametros los elementos
        #que enviaron por el formulario y lo guardamos en un objeto
        form = RepositorioForm(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 repositorios
            return redirect('repositorios_list')

    #Si los datos no fueron enviados por post
    else:
        #Instaciamos un objeto de tipo RepositorioForm
        form = RepositorioForm()

    #Retornamos al template generic_create.html y le pasamos el formulario instanciado
    return render_to_response('info/repositorios_create.html', {'form': form},
                              context_instance=RequestContext(request))