Ошибка 404 при получении файла в static, django

Я пробовал несколько попыток через googling, но ничего не получилось. Я не думаю, что так было, когда я работал над другим проектом Jango, но я не знаю почему.

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

from . import views

urlpatterns = [
    path("admin/", admin.site.urls),

    path("", views.HomeView.as_view(), name = 'home'), #to home.html
    path("blog/", include('blog.urls')),
]
# urlpatterns += static(settings.STATIC_URL,document_root=settings.STATIC_ROOT) 

settings.py

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.1/howto/static-files/

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

home.html

<img src="{% static 'assets/img/navbar-logo.svg' %}" alt="..." />

directory

Project-folder
|
|__config
|  |__settings.py
|  |__urls.py
|
|__app
|
|__template
|  |__app
|  |  |__bla.html
|  |__home.html
|
|  #bootstrap
|__static
   |__assets
      |__img
...

Если вы не загрузили статический файл, попробуйте сделать это в вашем base.html или home.html

{% load static %}

<link rel="stylesheet" href="{% static 'css/style.css' %}">

Отрывок из docs.

Ваш проект, вероятно, также будет содержать статические активы, которые не привязаны к конкретному приложению. В дополнение к использованию каталога static/ внутри ваших приложений, вы можете определить список каталогов (STATICFILES_DIRS) в вашем файле настроек, где Django будет искать статические файлы.

Итак, используйте список словарей, а также STATICFILES_DIRS не STATICFILES_DIR, вы пропустили S.

Попробуйте это:

STATIC_URL = 'static/'
STATICFILES_DIRS = [
    BASE_DIR / "static"
]

Или так:

STATIC_URL = 'static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]

Убедитесь, что вы загрузили статический тег.

Вернуться на верх