Django

Come scaricare il file in Django?

Come scaricare il file in Django?
L'opzione di download è un requisito generale per qualsiasi sito Web come il libro online, il software applicativo gratuito, i giochi gratuiti, ecc. Gli utenti del sito possono scaricare i file necessari sul proprio dispositivo se la funzione di download è implementata per il sito. Il file può essere scaricato dopo aver eseguito un particolare URL o aver fatto clic sul collegamento per il download e aver ottenuto l'autorizzazione dall'utente. In questo tutorial verranno mostrati i modi per scaricare un file di testo senza alcun collegamento per il download e un file PDF utilizzando il collegamento per il download nell'app Django.

Prerequisiti:

Prima di esercitarti con lo script di questo tutorial, devi completare le seguenti attività.

  1. Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
  2. Crea un progetto Django
  3. Esegui il server Django per verificare che il server funzioni correttamente o meno.

Configura un'app Django:

Esegui il seguente comando per creare un'app Django denominata scarica app. $ python3 gestire.py startapp downloadapp

Esegui il seguente comando per creare l'utente per l'accesso al database Django. Se hai creato l'utente prima di allora, non è necessario eseguire il comando.

$ python3 gestire.py createsuperuser

Aggiungi il nome dell'app in INSTALLATA_APP parte di impostazioni.pi file.

INSTALLATE_APPS = [

'scarica app'
]

Crea una cartella denominata modelli dentro il scarica app cartella e impostare il modello posizione dell'app nel MODELLI parte di impostazioni.pi file.

MODELLI = [

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

Scarica un file di testo:

Modifica il visualizzazioni.pi file che si trova all'interno di scarica app cartella con il seguente script. Il download file() la funzione scaricherà un file di testo denominato testo.TXT per un particolare percorso URL. Il file è stato aperto per la lettura all'inizio dello script. Il tipo MIME e le informazioni sull'intestazione sono state impostate per scaricare il file.

visualizzazioni.pi

# Importa il modulo dei tipi mime
importa tipi MIME
# import os modulo
importare il sistema operativo
# Importa il modulo HttpResponse
da django.http.importazione risposta HttpResponse
def download_file (richiesta):
# Definisci la directory di base del progetto Django
BASE_DIR = os.sentiero.dirname(os.sentiero.dirname(os.sentiero.abspath(__file__)))
# Definisci il nome del file di testo
nome file = 'test.TXT'
# Definisci il percorso completo del file
filepath = BASE_DIR + '/downloadapp/Files/' + nomefile
# Apri il file per leggere il contenuto
percorso = aperto (percorso file, 'r')
# Imposta il tipo mime
tipo_mime, _ = tipi mime.indovina_tipo(percorso file)
# Imposta il valore di ritorno di HttpResponse
risposta = HttpResponse(percorso, content_type=mime_type)
# Imposta l'intestazione HTTP per l'invio al browser
response['Content-Disposition'] = "allegato; filename=%s" % filename
# Restituisce il valore della risposta
risposta di ritorno

Ora apri il URL.pi file dal progetto Django e aggiorna il file con il seguente script. Il file di testo verrà scaricato se il percorso, 'Scarica/' viene utilizzato dopo l'URL di base.

URL.pi

# Modulo percorso di importazione
da django.percorso di importazione degli URL
# Importa visualizzazioni
dalle visualizzazioni di importazione di downloadapp download
# Imposta il percorso per il download
patternurl = [
percorso('download/', views.download file),
]

Apri il browser ed esegui il seguente URL che aprirà la finestra di dialogo di download per l'utente.

http://localhost:8000/download

Il file verrà scaricato se l'utente fa clic su ok dopo aver selezionato il tasto Salvare il file opzione.

Scarica il file PDF utilizzando il modello:

Sarà necessario creare un modello se si desidera aggiungere l'opzione di download con il collegamento per il download. Crea un file HTML chiamato file.html con il seguente script per visualizzare il link di download nel browser per scaricare un file PDF. Secondo il collegamento ipertestuale utilizzato nello script verrà scaricato il CF.PDF file.

file.html


Download file



Scarica il file usando Django


Scarica il pdf


Crea un altro file di visualizzazione chiamato visualizzazioni2.pi con il seguente script. Il scarica_file_pdf() nello script è stata definita la funzione per scaricare un file utilizzando il collegamento per il download. Il nome del file verrà passato come secondo valore dell'argomento di questa funzione. Il file è stato aperto per la lettura in modalità binaria per il file PDF. Se il valore di nome del file l'argomento è vuoto, allora il file.html il file verrà visualizzato nel browser per mostrare il collegamento per il download.

visualizzazioni2.pi

# Importa il modulo dei tipi mime
importa tipi MIME
# import os modulo
importare il sistema operativo
# Importa il modulo HttpResponse
da django.http.importazione risposta HttpResponse
# Importa modulo di rendering
da django.scorciatoie importare rendering
# Definisci la funzione per scaricare il file pdf usando il modello
def download_pdf_file(richiesta, nomefile="):
se nomefile != ":
# Definisci la directory di base del progetto Django
BASE_DIR = os.sentiero.dirname(os.sentiero.dirname(os.sentiero.abspath(__file__)))
# Definisci il percorso completo del file
filepath = BASE_DIR + '/downloadapp/Files/' + nomefile
# Apri il file per leggere il contenuto
percorso = aperto (percorso file, 'rb')
# Imposta il tipo mime
tipo_mime, _ = tipi mime.indovina_tipo(percorso file)
# Imposta il valore di ritorno di HttpResponse
risposta = HttpResponse(percorso, content_type=mime_type)
# Imposta l'intestazione HTTP per l'invio al browser
response['Content-Disposition'] = "allegato; filename=%s" % filename
# Restituisce il valore della risposta
risposta di ritorno
altro:
# Carica il modello
return render(richiesta, 'file.html')

Aggiorna il URL.pi file con il seguente script per scaricare un particolare file PDF utilizzando il collegamento per il download.

URL.pi

# Modulo percorso di importazione
da django.percorso di importazione degli URL
# Importa visualizzazioni e visualizzazioni2
da downloadapp importa visualizzazioni, visualizzazioni2
# Imposta il percorso per il download
patternurl = [
percorso('download/', views.download file),
percorso('downloadpdf/', views2.download_pdf_file, nome='download_pdf_file'),
percorso('downloadpdf//', views2.download_pdf_file, nome='download_pdf_file'),
]

Apri il browser ed esegui il seguente URL che visualizzerà il file.html nel browser.

http://localhost:8000/downloadpdf

Se l'utente fa clic sul collegamento per il download, il CF.PDF verrà passato come il valore di nome del file discussione.

Se questo file esiste nella posizione di base dell'app, verrà visualizzata la seguente finestra di dialogo. L'utente può aprire il file nel browser o nel visualizzatore di documenti prima del download o scaricare il file direttamente senza aprirlo selezionando il file di salvataggio opzione e premendo il tasto ok pulsante.

Conclusione:

L'aggiunta di un'opzione di download per file di testo e PDF nell'applicazione Django è stata mostrata in questo tutorial utilizzando un semplice script. I nuovi utenti di Django avranno un'idea per aggiungere un'opzione di download senza e con un collegamento per il download nell'app Django dopo aver letto questo tutorial.

Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...
Vulkan per utenti Linux
Con ogni nuova generazione di schede grafiche, vediamo gli sviluppatori di giochi spingere i limiti della fedeltà grafica e avvicinarsi di un passo al...