Чтобы заставить Django отдавать статические файлы из корневой папки проекта, вам понадобится ряд настроек и изменений в вашем коде.
1. В первую очередь, убедитесь, что у вас есть папка "static" в корневой директории вашего Django проекта. В этой папке будут храниться все ваши статические файлы (например, CSS, JS, изображения и др.).
2. Откройте файл настроек проекта settings.py
. Вам необходимо внести следующие изменения:
# Настройки статических файлов STATIC_URL = '/static/' # URL для доступа к статическим файлам STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') # Путь к папке, где будут собраны все статические файлы # Добавляем папку с вашими статическими файлами к списку мест, где Django будет искать статику STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
3. Создайте файл urls.py
в корневой папке проекта (если его еще нет), если он уже есть, то откройте его. Добавьте следующий код:
from django.conf import settings from django.conf.urls.static import static # ваш остальной код URL-ов # Добавляем путь для обслуживания статических файлов во время разработки # Важно: эта настройка только для использования во время разработки, в production необходимо использовать статический сервер (например, Nginx или Apache) if settings.DEBUG: urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
4. Сохраните изменения и перезапустите сервер разработки Django.
Теперь ваш проект должен отдавать статические файлы из главной папки Django. Вы можете использовать их в HTML-шаблонах следующим образом:
{% load static %} <link rel="stylesheet" href="{% static 'css/style.css' %}"> <script src="{% static 'js/main.js' %}"></script> <img src="{% static 'images/logo.png' %}" alt="Логотип">
Обратите внимание, что вместо 'css/style.css', 'js/main.js', 'images/logo.png' вы должны указывать путь к вашим статическим файлам относительно папки "static".