Как создать статическую папку в проекте Django: объяснение нескольких методов

Чтобы создать статическую папку в корне проекта Django, выполните следующие действия:

  1. Перейдите в корневой каталог вашего проекта Django.
  2. Создайте новую папку с именем «static».
  3. Внутри папки static вы можете распределить статические файлы по подпапкам в зависимости от их назначения (например, «css», «js», «images»).

После того как вы создали статическую папку, вы можете использовать ее для хранения статических файлов, таких как CSS, JavaScript и изображений. Вот несколько способов получить доступ к этим статическим файлам в вашем проекте Django:

  1. Метод 1. Используйте тег шаблона {% static %}:
    В ваших шаблонах HTML вы можете использовать тег шаблона {% static %}для ссылки на ваш статические файлы. Например, если у вас есть файл CSS с именем «styles.css» в папке «static/css», вы можете включить его в свой шаблон следующим образом:

    <link rel="stylesheet" type="text/css" href="{% static 'css/styles.css' %}">
  2. Метод 2: используйте настройку STATIC_URL:
    Django предоставляет настройку под названием STATIC_URLв файле настроек проекта (settings.py). Вы можете использовать этот параметр, чтобы определить базовый URL-адрес для ваших статических файлов. Например, если вы установите STATIC_URL = '/static/', вы можете получить доступ к файлу «styles.css» следующим образом:

    <link rel="stylesheet" type="text/css" href="/static/css/styles.css">
  3. Метод 3. Отображение статических файлов во время разработки.
    Во время разработки вы можете позволить Django обслуживать ваши статические файлы, добавив следующий код в файл urls.pyвашего проекта:

    from django.conf import settings
    from django.conf.urls.static import static
    
    urlpatterns = [
       # ... other URL patterns ...
    ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

    Этот метод не рекомендуется использовать в производственных средах.

  4. Метод 4. Используйте сеть доставки контента (CDN).
    В производственной среде обычно используется CDN для эффективной доставки статических файлов. Вы можете настроить Django для использования CDN, задав соответствующие настройки STATIC_URLи STATIC_ROOT.