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, software applicativo gratuito, 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 determinato URL o fare clic sul link per il download e ottenere l'autorizzazione dall'utente. I modi per scaricare un file di testo senza alcun link per il download e un file PDF utilizzando il collegamento Download nell'app Django verranno visualizzati in questo tutorial.

Prerequisiti:

Prima di praticare la sceneggiatura 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 no.

Imposta un'app Django:

Esegui il seguente comando per creare un'app Django denominata DownloadApp. $ Python3 Gestisci.Py Startapp DownloadApp

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

$ Python3 Gestisci.py createsuperuser

Aggiungi il nome dell'app in Installato_app parte di impostazioni.Py file.

Installato_apps = [
..
'downloadpp'
"

Crea una cartella denominata modelli dentro il DownloadApp cartella e impostare il modello Posizione dell'app nel file Modelli parte di impostazioni.Py file.


.. .
'Dirs': ['/Home/Fahmida/Django_Pro/DopwnloadApp/Templates'],
.. .
,
"

Scarica un file di testo:

Modificare il visualizzazioni.Py file che si trova all'interno del DownloadApp 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.Py

# Importa il modulo MimeTypes
Importa mimetipi
# Importa il modulo OS
Import OS
# Importa il modulo HTTPResponse
da Django.http.Importazione di risposta HttPresponse
def download_file (richiesta):
# Defini directory di base del progetto Django
Base_dir = os.sentiero.Dirname (sistema operativo.sentiero.Dirname (sistema operativo.sentiero.ASSPATH (__ File__)))
# Definisci il nome del file di testo
FileName = 'Test.TXT'
# Definisci il percorso completo del file
FILEPATH = BASE_DIR + '/downloadApp/Files/' + nome file
# Apri il file per la lettura dei contenuti
Path = Open (FilePath, 'R')
# Imposta il tipo MIME
mime_type, _ = mimetipi.indovinare_type (FilePath)
# Imposta il valore di ritorno di HttPresponse
Risposta = httpresponse (percorso, content_type = mime_type)
# Imposta l'intestazione HTTP per l'invio al browser
Risposta ['Content-Disposition'] = "Allegato; fileName = % s" % fileName
# Restituisci il valore di risposta
Risposta di ritorno

Ora, apri il URL.Py File dal progetto Django e aggiorna il file con il seguente script. Il file di testo scaricherà se il percorso, 'scaricamento/' viene utilizzato dopo l'URL di base.

URL.Py

# Modulo per il percorso Importa
da Django.percorso di importazione degli URL
# Importa visualizzazioni
Dalle visualizzazioni di importazione downloadApp
# Imposta percorso per il download
urlpatterns = [
Path ('Download/', Visualizzazioni.download file),
"

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

http: // localhost: 8000/download

Il file verrà scaricato se l'utente fa clic su OK pulsante dopo aver selezionato il file 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 link per il download. Crea un file HTML chiamato file.html con il seguente script per visualizzare il collegamento di download nel browser per scaricare un file PDF. Secondo il collegamento ipertestuale utilizzato nello script scaricherà il Cf.PDF file.

file.html


Download file



Scarica file utilizzando Django


Scarica il pdf


Crea un altro file di visualizzazione denominato viste2.Py Con il seguente script. IL download_pdf_file () La funzione è stata definita nello script per scaricare un file utilizzando il link per il download. Il nome file verrà approvato come secondo valore di argomento di questa funzione. Il file è stato aperto per la lettura in modalità binaria per il file PDF. Se il valore del nome del file L'argomento è vuoto, quindi il file.html Il file verrà visualizzato nel browser per mostrare il link per il download.

viste2.Py

# Importa il modulo MimeTypes
Importa mimetipi
# Importa il modulo OS
Import OS
# Importa il modulo HTTPResponse
da Django.http.Importazione di risposta HttPresponse
# Importa il modulo di rendering
da Django.scorciatoie rendering di importazione
# Definisci funzione per scaricare il file PDF utilizzando il modello
def download_pdf_file (richiesta, fileName = "):
Se nome file != ":
# Defini directory di base del progetto Django
Base_dir = os.sentiero.Dirname (sistema operativo.sentiero.Dirname (sistema operativo.sentiero.ASSPATH (__ File__)))
# Definisci il percorso completo del file
FILEPATH = BASE_DIR + '/downloadApp/Files/' + nome file
# Apri il file per la lettura dei contenuti
Path = Open (FilePath, 'RB')
# Imposta il tipo MIME
mime_type, _ = mimetipi.indovinare_type (FilePath)
# Imposta il valore di ritorno di HttPresponse
Risposta = httpresponse (percorso, content_type = mime_type)
# Imposta l'intestazione HTTP per l'invio al browser
Risposta ['Content-Disposition'] = "Allegato; fileName = % s" % fileName
# Restituisci il valore di risposta
Risposta di ritorno
altro:
# Carica il modello
restituzione render (richiesta ", file.html ')

Aggiorna il URL.Py File con il seguente script per scaricare un particolare file PDF utilizzando il collegamento.

URL.Py

# Modulo per il percorso Importa
da Django.percorso di importazione degli URL
# Importa visualizzazioni e visualizzazioni2
Da downloadApp Import Views, Views2
# Imposta percorso per il download
urlpatterns = [
Path ('Download/', Visualizzazioni.download file),
Path ('downloadpdf/', views2.download_pdf_file, name = 'download_pdf_file'),
Path ('downloadpdf //', views2.download_pdf_file, name = '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 link per il download, il Cf.PDF sarà passato come valore del 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 del documento prima del download o scaricare direttamente il file senza aprirlo selezionando il file di salvataggio opzione e premendo il OK pulsante.

Conclusione:

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