【发布时间】:2016-04-19 06:28:03
【问题描述】:
如果我的静态文件位于应用程序内部,它们将可以正常加载,但如果它们位于应用程序外部,例如在我的项目目录中,它们将不会加载。我知道这似乎是一个被问了一百万次的问题,但我看不出我的代码要改变什么。这是 Django 1.9
文件夹结构
/site
├── manage.py
├── project
│ ├── __init__.py
│ ├── settings.py
│ ├── static
│ │ └── main
│ │ ├── css
│ │ ├── fonts
│ │ ├── img
│ │ ├── libs
│ │ └── scripts
│ ├── templates
│ ├── urls.py
│ └── wsgi.py
├── app1
├── app2
└── app3
settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rooms',
'events',
'activities',
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIR = os.path.join(BASE_DIR, "static")
index.html
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static "main/css/bootstrap.css" %}">
<link rel="stylesheet" type="text/css" href="{% static "main/libs/animate.min.css" %}">
【问题讨论】:
-
我认为有一个拼写错误。应该是
STATICFILES_DIRS而不是STATICFILES_DIR -
@python 拼写似乎并不重要。我测试了两者。不过还是谢谢
-
@python 我弄错了,它确实需要是
STATICFILES_DIRS但我也忘记了os.path.join(BASE_DIR, "static")后面的逗号再次感谢! -
我已经添加了答案。如果有帮助请采纳。
标签: django django-staticfiles django-1.9