Django возвращает файл при загрузке
Обновлено: 21.11.2024
Django – это популярная среда веб-разработки для Python. Иногда вам может понадобиться добавить возможность загрузки файла на ваш веб-сайт или приложение на основе Django. В этой статье мы узнаем, как настроить загрузку файлов в Django.
Как скачать файл в Django
Вот шаги по настройке загрузки файлов в Django.
1. Создать приложение Django
Откройте терминал/командную строку, чтобы создать приложение Django. Если вы уже создали приложение, этот шаг можно пропустить.
Создайте суперпользователя с правами администратора в вашем приложении Django. Если у вас уже есть суперпользователь, вы можете пропустить этот шаг.
2. Установите приложение
Откройте файл settings.py в текстовом редакторе.
Добавьте указанное выше приложение в INSTALLED_APPS, как показано ниже.
3. Создание шаблонов
Добавить папку Templates, указывающую на расположение шаблонов Django, которые будут содержать ссылку для скачивания файла. Если вы уже создали другую папку для всех шаблонов и указали ее в settings.py, этот шаг можно пропустить.
4. Добавить URL
Откройте файл urls.py в новом приложении.
Добавьте в него следующий код, чтобы создать новый URL-адрес /загрузить на свой веб-сайт/приложение.
5. Создать представление
Теперь нам нужно добавить обработчик URL для вышеуказанного URL. Откройте файл views.py для приложения загрузки файлов в текстовом редакторе.
Добавьте следующие строки, чтобы создать представление обработчика URL.
Чтобы проверить это, запустите сервер Django.
6. Обновить шаблон
Если вы хотите загрузить файл с помощью шаблона, просто добавьте гиперссылку к файлу, как показано ниже, в любом шаблоне.
В этом случае вам нужно изменить функцию download_file в views.py, включив в нее аргумент запроса с именем имя файла.
В приведенном выше коде, если имя файла пусто, Django загрузит шаблон file.html, иначе он вернет файл test.txt для загрузки. Вы можете использовать тот же метод для загрузки файлов PDF или других типов файлов. Просто обновите гиперссылку в файле file.html, чтобы указать имя файла PDF с расширением. Кроме того, вы также можете получить путь к файлу из базы данных, если хотите.
В этой статье мы узнали, как скачать файл в Django. Вы можете изменить эти шаги в соответствии с вашими требованиями.
Django REST Framework — это надежный и гибкий набор инструментов для создания веб-API. Django позволяет пользователю работать по своему усмотрению. В Django пользователь может создать таблицу и внести изменения в эту таблицу, даже не написав ни одного SQL-запроса, разве это не удивительно? В этом блоге мы узнаем еще одну интересную функцию, а именно, как загружать и скачивать файлы в Django. Это так просто, что как только вы научитесь, вы обнаружите, что это кусок пирога. Давайте сначала кратко рассмотрим модели.
Что такое модель?
Таблица в нашей базе данных представлена классами в наших моделях. Каждый член класса является полем таблицы. Мы создаем модели в приложении > файл models.py. Пример модели показан ниже:-
Models.py
Здесь Сотрудник — это имя таблицы, имя и зарплата — это атрибуты таблицы, где имя может хранить только символьное значение, максимальная длина которого равна 50, а зарплата может хранить только целочисленное значение. В Django есть разные поля для разных типов данных.
Реализация
Шаг 1. Создайте проект Django
- Создайте проект Django, выполнив указанную команду в cmd или терминале.
Settings.py
Шаг 2. Добавьте файлы и папку в проект Django
- Создайте новую папку в папке django (здесь, blogdownloadfiles), сохраните ее с шаблоном имени.
Settings.py
<р>3. Создайте новый файл в папке приложения (здесь, файлы загрузки), сохраните его под именем urls.py . <р>4. Добавьте путь к этому файлу url.py в blogdownloadfiles > urls.py .URLS.py
<р>5. Укажите новую папку, в которой вы собираетесь хранить все медиафайлы, загруженные пользователем или загруженные в базу данных, добавив следующую команду в соответствующие файлы.Settings.py
URLS.py
Шаг 3. Загрузить и скачать файлы
Settings.py
<р>2. Создайте модель в папке приложения > models.py с полями по вашему выбору.Models.py
<р>3. Перенести модельВыполните приведенный ниже код, чтобы перенести модель в базу данных.
<р>4. Добавить функцию в папку приложения >views.pyЗдесь первый индекс функции используется для отображения начальной страницы, на которой пользователь будет заполнять формы. Вторая функция index2 используется для отправки формы, созданной на странице индекса html, для загрузки нашей модели.После сохранения модели мы будем вызывать все объекты из модели и отображать их на html-странице index2.
Просмотры.py
<р>5. Создайте URL-адрес для функции в файле загрузки (ваше_имя_приложения)>urls.py.URLS.py
<р>6. Создайте html-файл, здесь мы создали 2 html-файла <р>1. INDEX.HTML: здесь, в этом файле, мы создали форму с методом, равным публикации, и указываем действие или URL-адрес для перемещения после того, как пользователь нажимает кнопку отправки. Следует отметить, что enctype равно multipart/form-data следует указывать, потому что это важный шаг.Index.html
Вывод: –
Index.html
<р>2. INDEX1.HTML: здесь этот файл загружается, когда пользователь нажимает кнопку отправки на странице index.html. Здесь мы передали все объекты нашей модели, в которых указаны заголовок и URL загруженного файла. Если вы сосредоточитесь на теге привязки, я передал URL-адрес файла в HREF и указал внутри него ключевое слово загрузки, так что, когда пользователь щелкнет ссылку вместо перенаправления на новую страницу, он загрузит файл. р>Index1.html
Вывод: – Index1.html
Быстрая проверка:-
- Создайте папку проекта Django.
- Создайте папку приложения в папке проекта Django.
- Добавьте папку шаблона в папку Django и укажите путь к ней в django_folder > settings.py.
- Добавьте файл с именем urls.py в папку приложения и укажите путь к нему в django_project > urls.py.
- Укажите путь к папке мультимедиа.
- Добавьте функцию в папку app_folder >views.py.
- Укажите URL-адрес в app> urls.py для функций, созданных в views.py.
- Создайте файлы HTML в шаблоне django_project >.
Заключение
Я надеюсь, что этот блог будет полезен для вас и поможет вам понять каждый шаг. Надеюсь, все ваши сомнения развеются. Удачи и спасибо.
Читайте также: