Django

Como fazer o download do arquivo no Django?

Como fazer o download do arquivo no Django?
A opção de download é um requisito geral para qualquer site, como o livro online, software de aplicativo gratuito, jogos gratuitos, etc. Os usuários do site podem baixar os arquivos necessários em seus dispositivos se o recurso de download for implementado para o site. O arquivo pode ser baixado após a execução de um URL específico ou clicando no link de download e obtendo permissão do usuário. As maneiras de baixar um arquivo de texto sem nenhum link de download e um arquivo PDF usando o link de download no aplicativo Django serão mostradas neste tutorial.

Pré-requisitos:

Antes de praticar o script deste tutorial, você deve concluir as seguintes tarefas.

  1. Instale o Django versão 3+ no Ubuntu 20+ (de preferência)
  2. Crie um projeto Django
  3. Execute o servidor Django para verificar se o servidor está funcionando corretamente ou não.

Configure um aplicativo Django:

Execute o seguinte comando para criar um aplicativo Django chamado baixar aplicativo. $ python3 manage.py startapp downloadapp

Execute o seguinte comando para criar o usuário para acessar o banco de dados Django. Se você criou o usuário antes disso, não precisa executar o comando.

$ python3 manage.py cria superusuário

Adicione o nome do aplicativo no INSTALLED_APP parte de definições.py Arquivo.

INSTALLED_APPS = [

'baixar aplicativo'
]

Crie uma pasta chamada modelos dentro de baixar aplicativo pasta e definir o modelos localização do aplicativo no MODELOS parte de definições.py Arquivo.

MODELOS = [

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

Baixe um arquivo de texto:

Modifique o Visualizações.py arquivo que está dentro do baixar aplicativo pasta com o seguinte script. O ⇬ Fazer download do arquivo() função irá baixar um arquivo de texto chamado texto.TXT para um determinado caminho de URL. O arquivo foi aberto para leitura no início do script. O tipo MIME e as informações do cabeçalho foram configurados para fazer o download do arquivo.

Visualizações.py

# Módulo de importação de tipos MIME
importar mimetypes
# import os module
importar os
# Importar módulo HttpResponse
de django.http.resposta importar HttpResponse
def download_file (solicitação):
# Defina o diretório base do projeto Django
BASE_DIR = os.caminho.dirname (os.caminho.dirname (os.caminho.abspath (__ file__)))
# Defina o nome do arquivo de texto
filename = 'teste.TXT'
# Defina o caminho completo do arquivo
filepath = BASE_DIR + '/ downloadapp / Files /' + nome do arquivo
# Abra o arquivo para ler o conteúdo
path = open (filepath, 'r')
# Defina o tipo MIME
mime_type, _ = mimetype.guess_type (caminho do arquivo)
# Defina o valor de retorno do HttpResponse
resposta = HttpResponse (caminho, content_type = mime_type)
# Defina o cabeçalho HTTP para enviar ao navegador
resposta ['Content-Disposition'] = "anexo; nome do arquivo =% s"% nome do arquivo
# Retorne o valor da resposta
resposta de retorno

Agora, abra o urls.py arquivo do projeto Django e atualize o arquivo com o seguinte script. O arquivo de texto será baixado se o caminho, 'download/' é usado após o URL base.

urls.py

# Módulo de caminho de importação
de django.caminho de importação de urls
# Importar visualizações
de visualizações de importação de downloadapp
# Definir caminho para download
urlpatterns = [
caminho ('download /', visualizações.⇬ Fazer download do arquivo),
]

Abra o navegador e execute o seguinte URL que abrirá a caixa de diálogo de download para o usuário.

http: // localhost: 8000 / download

O arquivo será baixado se o usuário clicar no OK botão após selecionar o Salvar Arquivo opção.

Baixe o arquivo PDF usando o modelo:

Será necessário criar um modelo se você quiser adicionar a opção de download com o link de download. Crie um arquivo HTML chamado Arquivo.html com o seguinte script para exibir o link de download no navegador para baixar um arquivo PDF. De acordo com o hiperlink que é utilizado no script, fará o download do CF.pdf Arquivo.

Arquivo.html


⇬ Fazer download do arquivo



Baixar arquivo usando Django


baixar PDF


Crie outro arquivo de visualização chamado views2.py com o seguinte script. O download_pdf_file () função foi definida no script para baixar um arquivo usando o link de download. O nome do arquivo será passado como o segundo valor do argumento desta função. O arquivo foi aberto para leitura em modo binário para o arquivo PDF. Se o valor do nome do arquivo argumento está vazio, então o Arquivo.html arquivo será exibido no navegador para mostrar o link de download.

views2.py

# Módulo de importação de tipos MIME
importar mimetypes
# import os module
importar os
# Importar módulo HttpResponse
de django.http.resposta importar HttpResponse
# Importar módulo de renderização
de django.importação de atalhos renderização
# Definir função para baixar o arquivo pdf usando o modelo
def download_pdf_file (solicitação, nome do arquivo = "):
se nome do arquivo != ":
# Defina o diretório base do projeto Django
BASE_DIR = os.caminho.dirname (os.caminho.dirname (os.caminho.abspath (__ file__)))
# Defina o caminho completo do arquivo
filepath = BASE_DIR + '/ downloadapp / Files /' + nome do arquivo
# Abra o arquivo para ler o conteúdo
path = open (filepath, 'rb')
# Defina o tipo MIME
mime_type, _ = mimetype.guess_type (caminho do arquivo)
# Defina o valor de retorno do HttpResponse
resposta = HttpResponse (caminho, content_type = mime_type)
# Defina o cabeçalho HTTP para enviar ao navegador
resposta ['Content-Disposition'] = "anexo; nome do arquivo =% s"% nome do arquivo
# Retorne o valor da resposta
resposta de retorno
senão:
# Carregue o modelo
retornar render (pedido, 'arquivo.html ')

Atualize o urls.py arquivo com o seguinte script para baixar um arquivo PDF específico usando o link de download.

urls.py

# Módulo de caminho de importação
de django.caminho de importação de urls
# Importar visualizações e visualizações2
de visualizações de importação de downloadapp, views2
# Definir caminho para download
urlpatterns = [
caminho ('download /', visualizações.⇬ Fazer download do arquivo),
caminho ('downloadpdf /', views2.download_pdf_file, name = 'download_pdf_file'),
caminho ('downloadpdf //', views2.download_pdf_file, name = 'download_pdf_file'),
]

Abra o navegador e execute o seguinte URL que exibirá o Arquivo.html no navegador.

http: // localhost: 8000 / downloadpdf

Se o usuário clicar no link de download, o CF.pdf será passado como o valor do nome do arquivo argumento.

Se este arquivo existir no local base do aplicativo, a seguinte caixa de diálogo aparecerá. O usuário pode abrir o arquivo no navegador ou no visualizador de documentos antes do download ou baixar o arquivo diretamente sem abri-lo selecionando o arquivo Salvar opção e pressionando o OK botão.

Conclusão:

Adicionar uma opção de download para arquivos de texto e PDF no aplicativo Django foi mostrado neste tutorial usando um script simples. Os novos usuários do Django terão a ideia de adicionar uma opção de download sem e com um link de download no aplicativo Django após ler este tutorial.

Portas de código aberto para motores de jogos comerciais
Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...
Melhores jogos de linha de comando para Linux
A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...
Melhores aplicativos de mapeamento de gamepad para Linux
Se você gosta de jogar no Linux com um gamepad em vez de um teclado típico e sistema de entrada de mouse, existem alguns aplicativos úteis para você. ...