Как загрузить фотографии с помощью приложения Django

Как загрузить фотографии с помощью приложения Django Изображение 1

Одной из наиболее привлекательных особенностей современных приложений является возможность хранения изображений. Такие изображения, как фотографии, иллюстрации и анимация, делают приложение визуально привлекательным.

Вот как загружать фотографии в приложение Django без ущерба для безопасности.

Требование к подготовке

Прежде чем приступить к загрузке фотографий, убедитесь, что вы соответствуете следующим требованиям:

  1. Установите Питон.
  2. Установите Пип.
  3. Установите Пипенв.
  4. Установите Джанго.
  5. У вас есть приложение Django, которому нужны изображения.

Теперь, когда у вас есть необходимые зависимости, сразу же приступайте к загрузке изображений в приложение.

1. Установите подушку

Django имеет ImageField в своей модели. Это поле содержит изображение, загруженное в определенное место в файловой системе, а не в базу данных. Pillow — это библиотека Python, которая проверяет изображения в ImageField.

Чтобы установить подушку, используйте команду ниже:

pipenv установить подушку

Если вы используете venv, используйте эту команду:

пип установить подушку

2. Создайте шаблоны

Создайте ссылку ImageField в базе данных. Затем добавьте в эту модель аргумент upload_to. Этот аргумент указывает место хранения в файловой системе.

Профиль класса (models.Model): имя = models.CharField (max_length = 80, пусто = True) bio = models.TextField (max_length = 254, пусто = True) profile_picture = models.ImageField (upload_to = ‘photos/’) def __str__(self): вернуть профиль f'{self.user.username}’

Метод в конце помогает преобразовать данные в строку.

Затем выполните миграцию и зафиксируйте новые изменения в базе данных. Затем вам нужно отредактировать настройки проекта.

3. Добавьте URL-адрес мультимедиа в настройки проекта.

Перейдите к настройкам проекта. Под заголовком # Статические файлы (CSS, JavaScript, изображения) добавьте URL-адрес мультимедиа.

# BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_ROOT = os.path.join(BASE_DIR, ‘staticfiles’) STATIC_URL = ‘/static/’ # Các vị trí bổ sung cho collectstatic để tìm thấy file tĩnh. STATICFILES_DIRS = ( os.path.join(BASE_DIR, ‘static’), ) # STATICFILES_STORAGE = MEDIA_URL = ‘/media/’ MEDIA_ROOT = os.path.join(BASE_DIR, ‘media’)

Добавление URL-адреса мультимедиа в настройки определяет конкретный маршрут для отображения загруженных изображений. Этот медиафайл содержит изображение приложения. Путь должен выглядеть так: 127.0.0.1:8000/media/profile/image.jpg.

Обновите массив TEMPLATES в настройках проекта. Добавьте django.template.context_processors.media в массив шаблонов.

ШАБЛОНЫ = ( { ‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’, ‘DIRS’: (), ‘APP_DIRS’: True, ‘OPTIONS’: { ‘context_processors’: ( ‘django.template.context_processors. отладка’, ‘django.template.context_processors.request’, ‘django.contrib.auth.context_processors.auth’, ‘django.contrib.messages.context_processors.messages’, ‘django.template.context_processors.media’ ), }, }, )

Медиа-настройки процессора помогают с загрузкой загруженных изображений в шаблоны приложений.

4. Добавьте корень носителя в URL

Затем вам нужно добавить маршрут MEDIA_ROOT к URL-адресу вашего приложения. Это поможет загрузить загруженное изображение на сервер программирования.

Сначала импортируем настройки проекта из модуля django.conf и статической функции. Затем добавьте шаблоны URL-адресов статического маршрута, показывающие расположение загруженного файла.

путь импорта из django.urls из . импортировать представления из django.conf; импортировать настройки из django.conf.urls.static; импортировать статические данные из django.contrib.staticfiles.urls; profile’, views.profile, name=”profile”), ) if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT) urlpatterns += staticfiles_urlpatterns()

5. Проверьте загрузку фото

Далее запускаем сервер:

сервер запуска python manage.py

Если ошибок нет, перейдите в панель администратора Django, добавив маршрут администратора к базовому URL-адресу, .

Внутри панели администратора, когда вы нажмете на модуль «Профиль», вы увидите добавленное поле изображения внизу.

Как загрузить фотографии с помощью приложения Django Изображение 2

При загрузке изображения вы увидите новую папку, созданную в папке приложения, с именем media. Когда вы откроете эту папку, вы увидите фотографии, загруженные через панель администратора.

6. Показать загруженные фотографии

Вы обновите шаблон профиля, чтобы отобразить изображение профиля учетной записи.

Вы бы добавили тег img и заполнили его атрибутом profile_picture. ImageField имеет свойство URL, которое предоставляет абсолютный URL-адрес файла. Вы можете определить форму и внешний вид изображений с помощью классов CSS.

{% extends “base.html” %} {% load static %} {% block content %} {% endblock %}

Вы можете запустить этот сервер для загрузки изображений. Затем проверьте шаблон в браузере, чтобы увидеть отображаемое изображение.

Как загрузить фотографии с помощью приложения Django Изображение 3

Django предоставляет простой способ загрузки изображений в ваше приложение. Django имеет отдельное поле в этой модели, которое добавляет и проверяет тип файла перед загрузкой.

ImageField предоставляет абсолютный путь к файловой системе для хранения изображения. Это помогает ускорить работу приложения и в то же время гарантирует, что база данных не будет скомпрометирована вредоносными файлами.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *