【发布时间】:2011-04-07 12:18:48
【问题描述】:
我使用的是 Django 1.3,应用程序中的静态文件令人困惑。 我在做什么: 1) 设置
STATIC_ROOT = as path to directory 'static' in my project
STATIC_URL = '/static/'
2) 在我的 urls.py 中提供服务
if settings.DEBUG:
urlpatterns += patterns(
'',
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
)
3) 将 css 和 js 文件放入我的应用程序目录中的“static”文件夹中。 所以我得到了这样的目录树:
my_project/
main_app/
static/
css/
style.css
js/
secondary_app/
static/
foldername/
file.css
4) 我将这两个应用程序都添加到了 settings.py 文件中的 INSTALLED_APPS 中。 现在在我的模板中,当我写以下行时:
<link rel="stylesheet" href="{{ STATIC_URL }}css/style.css" type="text/css" />
Django 成功在目录中找到我的 css 文件
my_project/main_app/static/css/
并插入 style.css 但是当我写
<link rel="stylesheet" href="{{ STATIC_URL }}foldername/file.css" type="text/css" />
Django 没有插入这个文件。
所以我的问题是:我做错了什么?为什么我不能从 secondary_app 目录插入我的 css 文件? 关于这种情况,我还有什么要告诉你的?
【问题讨论】:
-
您有两个名为“static”的目录。
STATIC_ROOT又指向哪一个? -
在官方网站的文档中,我读到开发人员能够将静态文件放入应用程序的“static/”子目录中。我错了吗? link
-
顺便说一下,如果我将包含我的 css 文件的 secondary_app/static/foldername/ 重命名为 secondary_app/static/css/ Django 会成功插入 css 文件。我不知道为什么...有人可以解释一下吗?
标签: django