Django - 应用目录中的静态文件

6 投票
2 回答
9559 浏览
提问于 2025-04-16 19:53

在开发环境中,我想使用应用程序目录中的静态文件。

#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/jsstatic/flashstatic/cssstatic/images 这些文件夹里找文件,但我把文件直接放到了 app/static 里,所以系统找不到它们。

撰写回答