Django - 应用目录中的静态文件
在开发环境中,我想使用应用程序目录中的静态文件。
#settings.py
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
STATIC_ROOT = (os.path.join(SITE_ROOT, 'static_files/'))
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(SITE_ROOT, 'static/'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
TEMPLATE_CONTEXT_PROCESSORS = (
#...
'django.core.context_processors.static',
#...
)
INSTALLED_APPS = (
#...
'django.contrib.staticfiles',
#...
)
如果我的静态文件放在 /static/css/file.css
这个位置,我能找到它,但如果放在 an_app/static/css/file.css
这个位置,我就找不到了。
2 个回答
1
检查一下 STATIC_ROOT 和 STATICFILES_DIRS 的值。可以在你的设置文件里加一句打印的代码。
3
好的,我找到了问题所在。我之前没有注意到一个细节,这个细节在我的问题中并没有表现出来。我是在 static/js
、static/flash
、static/css
和 static/images
这些文件夹里找文件,但我把文件直接放到了 app/static
里,所以系统找不到它们。