Django: Как добавить файлы c в общие шаблоны? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть общие шаблоны, которые не принадлежат какому-либо конкретному приложению. Вот дерево моего проекта:

.
├── root_app
│   ├── asgi.py
│   ├── forms.py
│   ├── __init__.py
│   ├── __pycache__
│   ├── settings.py
│   ├── urls.py
│   ├── views.py
│   └── wsgi.py
├── db.sqlite3
├── another_app
│   ├── admin.py
│   ├── api_services.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   ├── models.py
│   ├── __pycache__
│   ├── templates
│   ├── tests.py
│   ├── urls.py
│   ├── utils.py
│   └── views.py
├── manage.py
├── Pipfile
├── Pipfile.lock
├── README.md
├── requirements.txt
├── static
│   └── css
│       └── styles.css 
└── templates
    ├── base.html
    └── home.html

В моем файле настроек у меня есть:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

INSTALLED_APPS = [
    ...
    ...
    'django.contrib.staticfiles',
]
STATIC_URL = '/static/'

STATIC_DIR = [os.path.join(BASE_DIR, 'static')]

В моей базе. html шаблон, я пытаюсь вызвать стили. css из static / css / styles. css таким образом:

{% load static %}
<link rel="stylesheet" type="text/css" href="{% static "css/styles.css" %}" />

Но сервер отвечает не найденным:

"GET /static/css/styles.css HTTP/1.1" 404

Что я делаю не так?

1 Ответ

2 голосов
/ 17 февраля 2020

Похоже, что вы в разработке, поэтому DEBUG имеет значение True.

STATICFILES_DIRS - это список папок, в которых Django будет искать дополнительные файлы stati c помимо stati c папка каждого установленного приложения.

Попробуйте вставить этот список в ваши настройки:

STATICFILES_DIRS = ['/home/path/to/your/static/',]
...