我有不属于任何特定应用程序的共享模板。这是我的项目树:
.
├── 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')]
在我的base.html模板中,我尝试通过以下方式从static / css / styles.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
我做错了什么?
答案 0 :(得分:2)
好像您在开发中,所以DEBUG为True。
STATICFILES_DIRS
是Django将在其中搜索安装的每个应用程序的静态文件夹之外的其他静态文件的文件夹列表。
尝试将此列表插入您的设置:
STATICFILES_DIRS = ['/home/path/to/your/static/',]