Subir archivos tipo imagen y pdf al Servidor desde un formulario.

3,905 views
Skip to first unread message

Paul Cumba

unread,
Jul 16, 2012, 1:55:50 PM7/16/12
to djan...@googlegroups.com
Hola a todos espero que me puedan ayudar.
 
Necesito desde un formulario subir un archivo pdf a un directorio desde un formulario creado desde un modelo.
Lei un poco acerca de esto y con lo que me encontre es que existen tipos imageFile y FileField para poder hacer esto desde un modelo, estube probando pero no me subio el archivo, mas o menos esta asi.
 
models.
 
class Documento(models.Model):
       nombre = models.charfield(max_length = 30)
       archivo = models.FileField(upload_to = documents)
 
en Forms.py
 
class DocumentoForm(forms.ModelForm)
       class Meta:
            model = Docuemento
 
la vista views.py
 
¿Como seria la vista para poder subir el archivo?

Miguel Angel Miseck Cumpa Ascuña

unread,
Jul 16, 2012, 2:11:36 PM7/16/12
to djan...@googlegroups.com, Paul Cumba
El 16/07/12 12:55, Paul Cumba escribi�:
> --
> Ha recibido este mensaje porque est� suscrito a Grupo "Grupo de
> Usuarios del Framework Django de habla hispana" de Grupos de Google.
> Si quieres publicar en este grupo, env�a un mensaje de correo
> electr�nico a djan...@googlegroups.com
> Para anular la suscripci�n a este grupo, env�e un mensaje a
> django-es-...@googlegroups.com
> Para obtener m�s opciones, visita este grupo en
> http://groups.google.com.bo/group/django-es.

aqui esta todo
https://docs.djangoproject.com/en/dev/topics/http/file-uploads/

saludos

pvilas

unread,
Jul 17, 2012, 7:31:16 AM7/17/12
to djan...@googlegroups.com

Paul Cumba

unread,
Jul 17, 2012, 1:27:44 PM7/17/12
to djan...@googlegroups.com

El problema es que el formulario tambien debe contener informacion adicional ademas del aquivo que deseo subir.
Tengo creado el modelo y el formulario creado a partir del modelo, en la vista se encuentra mi funcion que suspuestamente debe guardarme la informcion que envio por el formulario incluyendo la subida del archivo. No se si esta mal mi vista porq desde el Admin si funciona Bien. Unos pequeños ejemplos me ayudarian.
 

Diego Uribe Gamez

unread,
Jul 17, 2012, 1:43:20 PM7/17/12
to djan...@googlegroups.com
https://docs.djangoproject.com/en/dev/howto/outputting-pdf/



este lo estoy usando en este momento para crear datos usando un formulario desde el html, no se si te funcione o no se puedes agregar imagenes, pero si datos:

Esto para iniciar el método POST del html y recoger las variables
---------------------------------------------------
def pdf(request):
    # si hay busqueda POST
    if request.POST:
        # Datos del formulario
        usuario_web = request.POST.get('usuario')
        nombre_web = request.POST.get('nombre')


Este escribe el pdf
------------------------------------------------------
    response['Content-Disposition'] = 'attachment; filename=somefilename.pdf'

    buffer = BytesIO()

    # Create the PDF object, using the BytesIO object as its "file."
    p = canvas.Canvas(buffer)

    # Draw things on the PDF. Here's where the PDF generation happens.
    # See the ReportLab documentation for the full list of functionality.
    p.setLineWidth(.3)
    p.setFont('Helvetica', 12)

    p.drawString(30,750,'OFFICIAL COMMUNIQUE')
    p.drawString(30,735,'OF ACME INDUSTRIES')
    p.drawString(500,750,"12/12/2010")
    p.line(480,747,580,747)

    p.drawString(275,725,'AMOUNT OWED:')
    p.drawString(500,725,"$1,000.00")
    p.line(378,723,580,723)

    p.drawString(30,703,'RECEIVED BY:')
    p.line(120,700,580,700)
    p.drawString(120,703,"JOHN DOE")

    # Close the PDF object cleanly.
    p.showPage()
    p.save()

    # Get the value of the BytesIO buffer and write it to the response.
    pdf = buffer.getvalue()
    buffer.close()
    response.write(pdf)
    return response


Espero te sirva de algo.

Saludos.

El 17 de julio de 2012 12:27, Paul Cumba <pauld...@gmail.com> escribió:

El problema es que el formulario tambien debe contener informacion adicional ademas del aquivo que deseo subir.
Tengo creado el modelo y el formulario creado a partir del modelo, en la vista se encuentra mi funcion que suspuestamente debe guardarme la informcion que envio por el formulario incluyendo la subida del archivo. No se si esta mal mi vista porq desde el Admin si funciona Bien. Unos pequeños ejemplos me ayudarian.
 

--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.



--
 Diego Alonso Uribe Gamez

Desarrollador web

Twitter: @DiegoUG

Google+: http://gplus.to/diegoug




Paul Cumba

unread,
Jul 17, 2012, 1:53:31 PM7/17/12
to djan...@googlegroups.com

Gracias Diego por tu valioso aporte. Esto es loq ue necesitaba hace algunos meses atras, pero lo que necesito es subir el archivo pdf, ya creado mas no crearolo como un reporte. el archivo es un campo FileField en mi modelo, y en el formulario necesito subirlo al servidor mediante un formulario.

Diego Uribe Gamez

unread,
Jul 17, 2012, 1:57:24 PM7/17/12
to djan...@googlegroups.com
Mira bien esta parte:


No tuve tiempo de revisarla a fondo pero creo que aqui hablan de eso.

Sludos.

El 17 de julio de 2012 12:53, Paul Cumba <pauld...@gmail.com> escribió:

Gracias Diego por tu valioso aporte. Esto es loq ue necesitaba hace algunos meses atras, pero lo que necesito es subir el archivo pdf, ya creado mas no crearolo como un reporte. el archivo es un campo FileField en mi modelo, y en el formulario necesito subirlo al servidor mediante un formulario.

--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.

Diego Uribe Gamez

unread,
Jul 17, 2012, 5:35:59 PM7/17/12
to djan...@googlegroups.com
Aquí otro:


creo que explica mejor pero igual te toca hacer pruebas.

Paul Cumba

unread,
Jul 17, 2012, 11:45:35 PM7/17/12
to djan...@googlegroups.com
Gracias muchacho por la colaboracion, Hago las pruebas y las comento.

Reply all
Reply to author
Forward
0 new messages