コード例 #1
0
def addgaleria(request):
    ImagenFormSet_obj = formset_factory(ImagenForm,
                                        formset=ImagenFormSet,
                                        extra=1)
    if request.method == 'GET':
        form = NuevaGaleriaForm()
        imagen_formset = ImagenFormSet_obj(initial=[])

        return render(request, 'galeriaForm.html', {
            'form': NuevaGaleriaForm(),
            'imagen_formset': imagen_formset
        })
    if request.method == 'POST':
        form = NuevaGaleriaForm(request.POST)
        imagen_formset = ImagenFormSet_obj(request.POST, request.FILES)

        if form.is_valid() and imagen_formset.is_valid(
        ):  # Si la forma es valida

            if len(imagen_formset.forms
                   ) == 0:  # Si no metieron ninguna forma de imagen
                form.add_error(None, "Ingrese al menos una imagen")
                return render(request, 'galeriaForm.html', {
                    'form': form,
                    'imagen_formset': imagen_formset
                })

            galeria = Galeria()
            galeria.nombre = request.POST['title']
            galeria.fecha = datetime.now()
            galeria.save()

            for imagen_form in imagen_formset:
                imagen = imagen_form.cleaned_data.get('imagen')
                content_type = imagen.content_type
                extension = get_extension_file(imagen)

                archivo = Archivo()
                archivo.galeria = galeria
                data = imagen.read()
                archivo.data = base64.encodestring(data)
                archivo.mimetype = content_type
                archivo.extension = extension
                archivo.save()
            messages.success(request, 'Información correctamente guardada')
            return redirect('/adm/')

        return render(request, 'galeriaForm.html', {
            'form': form,
            'imagen_formset': imagen_formset
        })
コード例 #2
0
def editgaleria(request, galeria_id):
    galeria = get_object_or_404(Galeria, pk=galeria_id)
    imagenes = Archivo.objects.filter(galeria=galeria)

    ImagenFormSet_obj = formset_factory(ImagenForm,
                                        formset=ImagenFormSet,
                                        extra=1)

    if request.method == 'GET':
        form = NuevaGaleriaForm(initial={'title': galeria.nombre})
        imagen_formset = ImagenFormSet_obj(initial=[])

    if request.method == 'POST':
        form = NuevaGaleriaForm(request.POST)
        imagen_formset = ImagenFormSet_obj(request.POST, request.FILES)

        if form.is_valid() and imagen_formset.is_valid(
        ):  # Si la forma es valida

            galeria.nombre = request.POST['title']
            galeria.save()

            # Borramos las imagenes que se marcaron para borrar

            if request.POST['borrarFiles']:
                borrarFiles = request.POST['borrarFiles'].split(',')
                for idFile in borrarFiles:
                    archivo = get_object_or_404(Archivo, pk=idFile)
                    archivo.delete()

            for imagen_form in imagen_formset:
                imagen = imagen_form.cleaned_data.get('imagen')
                content_type = imagen.content_type
                extension = get_extension_file(imagen)

                archivo = Archivo()
                archivo.galeria = galeria
                data = imagen.read()
                archivo.data = base64.encodestring(data)
                archivo.mimetype = content_type
                archivo.extension = extension
                archivo.save()
            messages.success(request, 'Información correctamente guardada')
            return redirect('/adm/')

    return render(request, 'galeriaForm.html', {
        'form': form,
        'imagen_formset': imagen_formset,
        'imagenes': imagenes
    })
コード例 #3
0
ファイル: views.py プロジェクト: sabio/cupcake
def editgaleria(request, galeria_id):
	galeria = get_object_or_404(Galeria, pk=galeria_id)
	imagenes = Archivo.objects.filter(galeria = galeria)

	ImagenFormSet_obj = formset_factory(ImagenForm, formset=ImagenFormSet,extra=1)
	

	if request.method == 'GET':
		form = NuevaGaleriaForm(initial={'title': galeria.nombre})
		imagen_formset = ImagenFormSet_obj(initial=[])


	if request.method == 'POST':
		form = NuevaGaleriaForm(request.POST)
		imagen_formset = ImagenFormSet_obj(request.POST, request.FILES)

		if form.is_valid() and imagen_formset.is_valid(): # Si la forma es valida
			

			galeria.nombre = request.POST['title']
			galeria.save()

			# Borramos las imagenes que se marcaron para borrar

			if request.POST['borrarFiles']:
				borrarFiles = request.POST['borrarFiles'].split(',')
				for idFile in borrarFiles:
					archivo = get_object_or_404(Archivo, pk=idFile)
					archivo.delete()


			
			for imagen_form in imagen_formset:
				imagen = imagen_form.cleaned_data.get('imagen')
				content_type = imagen.content_type
				extension = get_extension_file(imagen)

				archivo = Archivo()
				archivo.galeria = galeria
				data = imagen.read()
				archivo.data = base64.encodestring(data)
				archivo.mimetype = content_type
				archivo.extension = extension
				archivo.save()
			messages.success(request, 'Información correctamente guardada')	
			return redirect('/adm/')



	return render(request, 'galeriaForm.html',{'form':form, 'imagen_formset':imagen_formset, 'imagenes':imagenes})
コード例 #4
0
ファイル: views.py プロジェクト: sabio/cupcake
def addgaleria(request):
	ImagenFormSet_obj = formset_factory(ImagenForm, formset=ImagenFormSet,extra=1)
	if request.method == 'GET':
		form = NuevaGaleriaForm()
		imagen_formset = ImagenFormSet_obj(initial=[])

		return render(request, 'galeriaForm.html',{'form':NuevaGaleriaForm(), 'imagen_formset':imagen_formset})
	if request.method == 'POST':
		form = NuevaGaleriaForm(request.POST)
		imagen_formset = ImagenFormSet_obj(request.POST, request.FILES)

		
		if form.is_valid() and imagen_formset.is_valid(): # Si la forma es valida
			
			if len(imagen_formset.forms) == 0: # Si no metieron ninguna forma de imagen
				form.add_error(None, "Ingrese al menos una imagen")
				return render(request, 'galeriaForm.html',{'form':form, 'imagen_formset':imagen_formset})

			galeria = Galeria()
			galeria.nombre = request.POST['title']
			galeria.fecha = datetime.now()
			galeria.save()
			
			for imagen_form in imagen_formset:
				imagen = imagen_form.cleaned_data.get('imagen')
				content_type = imagen.content_type
				extension = get_extension_file(imagen)

				archivo = Archivo()
				archivo.galeria = galeria
				data = imagen.read()
				archivo.data = base64.encodestring(data)
				archivo.mimetype = content_type
				archivo.extension = extension
				archivo.save()
			messages.success(request, 'Información correctamente guardada')
			return redirect('/adm/')

		return render(request, 'galeriaForm.html',{'form':form, 'imagen_formset':imagen_formset})