Джанго

Как да изтеглите файла в Django?

Как да изтеглите файла в Django?
Опцията за изтегляне е общо изискване за всеки уебсайт като онлайн книгата, безплатния приложен софтуер, безплатните игри и т.н. Потребителите на сайта могат да изтеглят необходимите файлове на своето устройство, ако функцията за изтегляне е внедрена за сайта. Файлът може да бъде изтеглен след изпълнение на определен URL или щракване върху връзката за изтегляне и получаване на разрешение от потребителя. Начините за изтегляне на текстов файл без връзка за изтегляне и PDF файл с помощта на връзката за изтегляне в приложението Django ще бъдат показани в този урок.

Предпоставки:

Преди да практикувате скрипта на този урок, трябва да изпълните следните задачи.

  1. Инсталирайте Django версия 3+ на Ubuntu 20+ (за предпочитане)
  2. Създайте проект на Django
  3. Стартирайте сървъра Django, за да проверите дали сървърът работи правилно или не.

Настройване на приложение Django:

Изпълнете следната команда, за да създадете приложение на Django с име downloadapp. $ python3 управлява.py startapp изтегляне

Изпълнете следната команда, за да създадете потребителя за достъп до базата данни на Django. Ако сте създали потребителя преди това, не е необходимо да изпълнявате командата.

$ python3 управлява.py създаваuperuser

Добавете името на приложението в INSTALLED_APP част от настройки.py файл.

INSTALLED_APPS = [
..
„изтегляне“
]

Създайте папка с име шаблони вътре в downloadapp папка и задайте шаблони местоположението на приложението в ШАБЛОНИ част от настройки.py файл.

ШАБЛОНИ = [

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

Изтеглете текстов файл:

Променете мнения.py файл, който е вътре в downloadapp папка със следния скрипт. The свали файл() ще изтегли текстов файл с име текст.текст за определен URL път. Файлът се отвори за четене в началото на скрипта. Информацията за типа мим и заглавката е настроена за изтегляне на файла.

мнения.py

# Модул за импортиране на мимети
импортиране на миметитипове
# модул за импортиране на ос
внос os
# Импортиране на модул HttpResponse
от django.http.отговор импортиране HttpResponse
def download_file (заявка):
# Определете основната директория на проекта Django
BASE_DIR = os.път.dirname (os.път.dirname (os.път.abspath (__ файл__)))
# Определете името на текстовия файл
filename = 'тест.текст'
# Определете пълния път на файла
filepath = BASE_DIR + '/ downloadapp / Files /' + име на файл
# Отворете файла за четене на съдържание
път = отворен (filepath, 'r')
# Задайте типа мим
mime_type, _ = mimetypes.тип на предположение (път на файла)
# Задайте връщаната стойност на HttpResponse
отговор = HttpResponse (път, тип_съдържание = mime_type)
# Задайте HTTP заглавката за изпращане до браузъра
отговор ['Content-Disposition'] = "прикачен файл; име на файл =% s"% име на файл
# Връща стойността на отговора
отговор на връщане

Сега отворете URL адреси.py файл от проекта Django и актуализирайте файла със следния скрипт. Текстовият файл ще се изтегли, ако пътят, 'Изтегли/' се използва след основния URL адрес.

URL адреси.py

# Модул за импортиране на път
от django.път за импортиране на URL адреси
# Импортиране на изгледи
от изгледи за импортиране на изтеглени приложения
# Задайте път за изтегляне
urlpatterns = [
path ('изтегляне /', прегледи.свали файл),
]

Отворете браузъра и изпълнете следния URL, който ще отвори диалоговия прозорец за изтегляне за потребителя.

http: // localhost: 8000 / изтегляне

Файлът ще бъде изтеглен, ако потребителят щракне върху Добре след избор на Запишете файла опция.

Изтеглете PDF файл с помощта на шаблона:

Ще се изисква шаблон, за да създадете, ако искате да добавите опцията за изтегляне с връзката за изтегляне. Създайте HTML файл с име файл.html със следния скрипт за показване на връзката за изтегляне в браузъра за изтегляне на PDF файл. Според хипервръзката, която се използва в скрипта, ще се изтегли CF.pdf файл.

файл.html


Свали файл



Изтеглете файла с помощта на Django


Изтеглете PDF


Създайте друг файл с име на име мнения2.py със следния скрипт. The download_pdf_file () функцията е дефинирана в скрипта за изтегляне на файл чрез връзката за изтегляне. Името на файла ще бъде предадено като втората стойност на аргумента на тази функция. Файлът се отвори за четене в двоичен режим за PDF файла. Ако стойността на име на файл аргументът е празен, тогава файл.html файл ще се покаже в браузъра, за да се покаже връзката за изтегляне.

мнения2.py

# Модул за импортиране на mimetypes
импортиране на миметитипи
# модул за импортиране на ос
внос os
# Импортиране на модул HttpResponse
от django.http.отговор импортиране HttpResponse
# Импортиране на модул за рендиране
от django.преки пътища за импортиране
# Определете функцията за изтегляне на pdf файл с помощта на шаблон
def download_pdf_file (заявка, име на файл = "):
ако име на файл != ":
# Определете основната директория на проекта Django
BASE_DIR = os.път.dirname (os.път.dirname (os.път.abspath (__ файл__)))
# Определете пълния път на файла
filepath = BASE_DIR + '/ downloadapp / Files /' + име на файл
# Отворете файла за четене на съдържание
път = отворен (filepath, 'rb')
# Задайте типа мим
mime_type, _ = mimetypes.тип на предположение (път на файла)
# Задайте връщаната стойност на HttpResponse
отговор = HttpResponse (път, тип_съдържание = mime_type)
# Задайте HTTP заглавката за изпращане до браузъра
отговор ['Content-Disposition'] = "прикачен файл; име на файл =% s"% име на файл
# Връща стойността на отговора
отговор на връщане
друго:
# Заредете шаблона
return render (заявка, 'файл.html ')

Актуализирайте URL адреси.py файл със следния скрипт, за да изтеглите определен PDF файл, като използвате връзката за изтегляне.

URL адреси.py

# Модул за импортиране на път
от django.път за импортиране на URL адреси
# Импортиране на изгледи и изгледи2
от downloadapp импортирани изгледи, изгледи2
# Задайте път за изтегляне
urlpatterns = [
path ('изтегляне /', прегледи.свали файл),
path ('downloadpdf /', views2.download_pdf_file, name = 'download_pdf_file'),
path ('downloadpdf //', views2.download_pdf_file, name = 'download_pdf_file'),
]

Отворете браузъра и изпълнете следния URL, който ще покаже файл.html в браузъра.

http: // localhost: 8000 / downloadpdf

Ако потребителят щракне върху връзката за изтегляне, CF.pdf ще бъде предадено като стойността на име на файл аргумент.

Ако този файл съществува в основното местоположение на приложението, ще се появи следният диалогов прозорец. Потребителят може да отвори файла в браузъра или инструмента за преглед на документи преди изтеглянето или да изтегли файла директно, без да го отваря, като избере Запазване на файл опция и натискане на Добре бутон.

Заключение:

Добавянето на опция за изтегляне на текстови и PDF файлове в приложението Django беше показано в този урок с помощта на прост скрипт. Новите потребители на Django ще получат идея да добавят опция за изтегляне без и с връзка за изтегляне в приложението Django, след като прочетат този урок.

Средният бутон на мишката не работи в Windows 10
The среден бутон на мишката ви помага да превъртате дълги уеб страници и екрани с много данни. Ако това спре, добре ще свършите да използвате клавиату...
Как да промените левия и десния бутон на мишката на компютър с Windows 10
Напълно нормално е всички устройства на компютърни мишки да са ергономично проектирани за десничари. Но има налични устройства за мишка, които са спец...
Емулирайте кликванията на мишката, като задържите курсора на мишката с кликаща мишка в Windows 10
Използването на мишка или клавиатура в неправилна поза при прекомерна употреба може да доведе до много здравословни проблеми, включително напрежение, ...