Django добавляет имя приложения (например, /blog) к статическим и графическим URL-адресам - как исправить?
Я работаю над проектом Django, и у меня возникла проблема со статическими и графическими URL. Django продолжает добавлять /blog
(имя моего приложения) перед каждым статическим или графическим URL, даже если мои файлы находятся в глобальной папке static/
.
Например:
Я ожидаю: /static/css/blog/bootstrap.css
Django генерирует: /blog/static/css/blog/bootstrap.css
Это вызывает ошибку 404, потому что путь /blog/static/
не существует.
Вот моя установка:
settings.py:
STATIC_URL = '/static/'
STATICFILES_DIRS = [
BASE_DIR / "static",
]
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / "media"
Структура проекта:
project/
├── static/
│ ├── css/
│ │ └── blog/
│ │ └── bootstrap.css
│ └── images/
├── Templates/ # Global templates directory
│ └── base.html
├── blog/
│ ├── urls.py
│ ├── views.py
Шаблон:
<link rel="stylesheet" href="{% static 'css/blog/bootstrap.css' %}" />
<img src="{% static 'images/example.jpg' %}" alt="Example">
urls.py:
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('main.urls')),
path('blog/', include('blog.urls')),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Проблема :
Все статические и графические URL-адреса получают префикс /blog
, например, такой:
/blog/static/css/blog/bootstrap.css
Как запретить Django добавлять префикс /blog
к статическим и графическим URL?
Спасибо за помощь!