Статические файлы не загружаются | Django
Статические файлы не загружаются и не выдают никаких ошибок.
КОД
-ADMIN
settings.py
STATIC_URL = '/static/'
STATIC_DIR = os.path.join(BASE_DIR,"static")
STATICFILES_DIRS = [
STATIC_DIR,
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_cdn')
urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('Welcome.urls')),
path('auth/', include('Authentication.urls')),
path('ad/', include('Ads.urls')),
path('user/', include('UserDashboard.urls')),
path('admin/', include('AdminDashboard.urls')),
]
if settings.DEBUG:
urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
- APPS
шаблон
<link href="{% static 'css/user/style.css' %}" rel="stylesheet">
Консоль
Структура Dirs
ОБЪЯСНЕНИЕ КОДА
- Просто добавил статические файлы в корневой каталог и попытался импортировать их в шаблон, но css файлы не загружаются, но медиа файлы успешно загружаются, как показано в этом примере
<link rel="shortcut icon" type="image/jpg" href="{% static 'img/logo.png' %}" />
. На изображении структуры dir мы видим папки img и css в одном месте в папке static.
STATICFILES_DIRS = [BASE_DIR / 'assets']
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'static'
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'
добавьте следующие коды в ваш settings.py
убедитесь, что у вас есть каталог assets с необходимыми файлами. создайте папки static и media в вашем корневом каталоге .
если вы используете DEBUG=True, то вам не нужно устанавливать ничего о статических файлах в вашем основном urls.py. поэтому вы можете исключить эти строки. они используются для DEBUG=False
if settings.DEBUG: urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT) urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
>и в конечном итоге
python manage.py collectstatic
команда и все готово .
Settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]
STATIC_ROOT = os.path.join(BASE_DIR, "static_collect")
urls.py
+static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Добавьте их после закрывающей скобки urlpatterns.
Выполните эту команду
python manage.py collectstatic
Перед началом установки создайте папку static внутри папки проекта. Надеюсь, это сработает для вас