Django

Cómo descargar el archivo en Django?

Cómo descargar el archivo en Django?
La opción de descarga es un requisito general para cualquier sitio web, como el libro en línea, el software de aplicación gratuito, los juegos gratuitos, etc. Los usuarios del sitio pueden descargar los archivos necesarios en su dispositivo si la función de descarga está implementada para el sitio. El archivo se puede descargar después de ejecutar una URL en particular o hacer clic en el enlace de descarga y obtener el permiso del usuario. Las formas de descargar un archivo de texto sin ningún enlace de descarga y un archivo PDF usando el enlace de descarga en la aplicación Django se mostrarán en este tutorial.

Requisitos previos:

Antes de practicar el guión de este tutorial, debe completar las siguientes tareas.

  1. Instale Django versión 3+ en Ubuntu 20+ (preferiblemente)
  2. Crea un proyecto de Django
  3. Ejecute el servidor Django para comprobar si el servidor funciona correctamente o no.

Configura una aplicación Django:

Ejecute el siguiente comando para crear una aplicación Django llamada descargar aplicación. $ python3 administrar.py startapp downloadapp

Ejecute el siguiente comando para crear el usuario para acceder a la base de datos de Django. Si ha creado el usuario antes, no necesita ejecutar el comando.

$ python3 administrar.py crea superusuario

Agregue el nombre de la aplicación en el INSTALLED_APP parte de ajustes.py expediente.

INSTALLED_APPS = [
..
'descargar aplicación'
]

Crea una carpeta llamada plantillas dentro de descargar aplicación carpeta y configure el plantillas ubicación de la aplicación en el PLANTILLAS parte de ajustes.py expediente.

PLANTILLAS = [

.. .
'DIRS': ['/ home / fahmida / django_pro / dopwnloadapp / templates'],
.. .
,
]

Descargar un archivo de texto:

Modificar el puntos de vista.py archivo que está dentro del descargar aplicación carpeta con el siguiente script. La descargar archivo() La función descargará un archivo de texto llamado texto.TXT para una ruta URL particular. El archivo se ha abierto para su lectura al comienzo del script. El tipo de mime y la información del encabezado se han configurado para descargar el archivo.

puntos de vista.py

# Importar módulo mimetypes
importar tipos MIME
# importar módulo de sistema operativo
importar sistema operativo
# Importar módulo HttpResponse
de django.http.importación de respuesta HttpResponse
def download_file (solicitud):
# Definir el directorio base del proyecto Django
BASE_DIR = os.camino.dirname (os.camino.dirname (os.camino.abspath (__ archivo__)))
# Definir el nombre del archivo de texto
filename = 'prueba.TXT'
# Defina la ruta completa del archivo
filepath = BASE_DIR + '/ downloadapp / Files /' + nombre de archivo
# Abra el archivo para leer el contenido
ruta = abrir (ruta de archivo, 'r')
# Establecer el tipo de mimo
mime_type, _ = mimetypes.guess_type (ruta de archivo)
# Establecer el valor de retorno de HttpResponse
respuesta = HttpResponse (ruta, tipo_contenido = tipo_mime)
# Establecer el encabezado HTTP para enviar al navegador
respuesta ['Content-Disposition'] = "adjunto; nombre de archivo =% s"% nombre de archivo
# Devuelve el valor de respuesta
respuesta de retorno

Ahora, abre el urls.py archivo del proyecto Django y actualice el archivo con el siguiente script. El archivo de texto se descargará si la ruta, 'descargar/' se usa después de la URL base.

urls.py

# Módulo de ruta de importación
de django.ruta de importación de URL
# Importar vistas
desde vistas de importación de aplicaciones descargadas
# Establecer ruta de descarga
urlpatterns = [
ruta ('descargar /', vistas.descargar archivo),
]

Abra el navegador y ejecute la siguiente URL que abrirá el cuadro de diálogo de descarga para el usuario.

http: // localhost: 8000 / descargar

El archivo se descargará si el usuario hace clic en el OK después de seleccionar el Guardar el archivo opción.

Descargar archivo PDF usando la plantilla:

Se requerirá una plantilla para crear si desea agregar la opción de descarga con el enlace de descarga. Crea un archivo HTML llamado expediente.html con el siguiente script para mostrar el enlace de descarga en el navegador para descargar un archivo PDF. Según el hipervínculo que se utilice en el script se descargará el CF.pdf expediente.

expediente.html


Descargar archivo



Descargar archivo usando Django


Descargar PDF


Cree otro archivo de vista llamado vistas2.py con el siguiente script. La download_pdf_file () Se ha definido la función en el script para descargar un archivo usando el enlace de descarga. El nombre del archivo se pasará como el segundo valor de argumento de esta función. El archivo se ha abierto para lectura en modo binario para el archivo PDF. Si el valor del Nombre del archivo argumento está vacío, entonces el expediente.html El archivo se mostrará en el navegador para mostrar el enlace de descarga.

vistas2.py

# Importar módulo mimetypes
importar tipos MIME
# importar módulo de sistema operativo
importar sistema operativo
# Importar módulo HttpResponse
de django.http.importación de respuesta HttpResponse
# Importar módulo de renderizado
de django.importación de atajos render
# Definir la función para descargar un archivo pdf usando una plantilla
def download_pdf_file (solicitud, nombre de archivo = "):
si nombre de archivo != ":
# Definir el directorio base del proyecto Django
BASE_DIR = os.camino.dirname (os.camino.dirname (os.camino.abspath (__ archivo__)))
# Defina la ruta completa del archivo
filepath = BASE_DIR + '/ downloadapp / Files /' + nombre de archivo
# Abra el archivo para leer el contenido
ruta = abrir (ruta de archivo, 'rb')
# Establecer el tipo de mimo
mime_type, _ = mimetypes.guess_type (ruta de archivo)
# Establecer el valor de retorno de HttpResponse
respuesta = HttpResponse (ruta, tipo_contenido = tipo_mime)
# Establecer el encabezado HTTP para enviar al navegador
respuesta ['Content-Disposition'] = "adjunto; nombre de archivo =% s"% nombre de archivo
# Devuelve el valor de respuesta
respuesta de retorno
demás:
# Cargar la plantilla
return render (solicitud, 'archivo.html ')

Actualizar el urls.py archivo con el siguiente script para descargar un archivo PDF en particular usando el enlace de descarga.

urls.py

# Módulo de ruta de importación
de django.ruta de importación de URL
# Importar vistas y vistas2
desde vistas de importación de aplicaciones descargadas, vistas2
# Establecer ruta de descarga
urlpatterns = [
ruta ('descargar /', vistas.descargar archivo),
ruta ('downloadpdf /', vistas2.download_pdf_file, name = 'download_pdf_file'),
ruta ('descargarpdf //', vistas2.download_pdf_file, name = 'download_pdf_file'),
]

Abra el navegador y ejecute la siguiente URL que mostrará el expediente.html en el navegador.

http: // localhost: 8000 / downloadpdf

Si el usuario hace clic en el enlace de descarga, el CF.pdf se pasará como el valor de la Nombre del archivo argumento.

Si este archivo existe en la ubicación base de la aplicación, aparecerá el siguiente cuadro de diálogo. El usuario puede abrir el archivo en el navegador o el visor de documentos antes de la descarga o descargar el archivo directamente sin abrirlo seleccionando el archivo de guardado opción y presionando la OK botón.

Conclusión:

En este tutorial se mostró cómo agregar una opción de descarga para archivos de texto y PDF en la aplicación Django usando un script simple. Los nuevos usuarios de Django tendrán una idea para agregar una opción de descarga sin y con un enlace de descarga en la aplicación Django después de leer este tutorial.

Los mejores juegos de Oculus App Lab
Si es propietario de un visor Oculus, debe estar informado sobre la descarga lateral. Sideloading es el proceso de instalación de contenido que no es ...
Los 10 mejores juegos para jugar en Ubuntu
La plataforma Windows ha sido una de las plataformas dominantes para juegos debido al gran porcentaje de juegos que se están desarrollando hoy para ad...
5 mejores juegos de arcade para Linux
Hoy en día, las computadoras son máquinas serias que se usan para jugar. Si no puede obtener la nueva puntuación más alta, sabrá a qué me refiero. En ...