Ошибка 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'),
]
Убедитесь, что вы загрузили статический тег.