目前的结构:
MySite
|--MySite
| |--static
| |--MySite
| |-- site_wide.css
|--MyApp
|--static
|--MyApp
|-- app_specific.js
|-- app_specific.css
settings.py:
STATIC_URL = "/static/"
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "/MySite/static/"),
)
用下面的代码,我能够成功地链接到app_specific.js
和app_specific.css
,但我无法链接site_wide.css
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'MyApp/app_specific.css %}" />
<link rel="stylesheet" type="text/css" href="{% static 'MySite/site_wide.css' %}" />
... site body ...
<script type="text/javascript" src="{% static 'MyApp/app_specific.js' %}" ></script>
检查后生成的HTML,为第二连杆的href是:
href="/static/MySite/site_wide.css"
它不存在。
我现在的理解是,Django的将搜索在由定义的路径我的链接文件STATIC_URL
然后(如果没有找到)通过在列出的路径进度SATICFILES_DIRS
,但它显然是从来没有期待在指定的路径STATICFILES_DIRS
。
我全新到Django和想了解它是如何工作的。 其他一些类似的问题提的东西像collectstaticfiles
或类似的东西,但都非常清楚。
任何帮助将不胜感激!
PS我知道的一切是从官方的Django 1.8教程/文档,所以请不要发布过时的答案。 1.8只。