Установка нескольких MEDIA_URL & MEDIA_ROOT в Django

Я установил статический и медиа-корень, а также URL в моем приложении django, следующим образом:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")

MEDIA_URL = '/crl/'
MEDIA_ROOT  = os.path.join(BASE_DIR, 'config/crl/')

Он отлично работает, но я хочу добавить еще один MEDIA_URL & MEDIA_ROOT для обслуживания файлов из /certs/ каталог следующим образом:

NEW_MEDIA_URL = '/certs/'
NEW_MEDIA_ROOT  = os.path.join(BASE_DIR, 'config/certs/')

Есть ли способ сделать это? Я использую Django 2.0.6 и Python 3.5

1 ответ

В Django можно добавить несколько статических URL-адресов и статических корней, выполнив следующие действия.

  1. Настроить BASE_DIR
      BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)

  1. Создайте столько статических корней и статических URL-адресов, сколько вам нужно
      STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
# the "static/" above is a directory inside the Django Project Directory

STATIC_URL_1 = '/static-1/'
STATIC_ROOT_1 = os.path.join(BASE_DIR, "static_1/")
  1. Точно так же вы можете создать столько корней мультимедиа и URL-адресов мультимедиа, сколько вам нужно.
      MEDIA_URL = '/crl/'
MEDIA_ROOT  = os.path.join(BASE_DIR, 'config/crl/')

MEDIA_URL_1 = '/crl-1/'
MEDIA_ROOT_1  = os.path.join(BASE_DIR, 'config/crl_1/')
Другие вопросы по тегам