collectstatic 生成的文件未在 Django 中提供

Files generated by collectstatic not being served in Django

我有一堆 css/js 文件正在用 collectstatic 处理。它们在我的 staticfiles 目录中成功创建,并附加了数字。

(env)zain@gandalf ~/projects/xxx[master*]$ ls staticfiles/css/
agreements.6cb653c1aa93.css  

在我的模板中,我使用 {% load static from staticfiles %} 并使用 static 标签加载静态资源。但是,不会插入由 collectstatic 生成的文件——而是使用我的静态文件夹中的文件。

对于如何提供协议的任何想法,我将不胜感激。6cb653c1aa93.css 静态文件而不是 agreements.css 静态文件。

settings/base.py

BASE_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), '../')
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

谢谢!

编辑 - 我正在使用白噪声:http://whitenoise.readthedocs.org/en/latest/django.html#add-gzip-and-caching-support

在生产中,Django 本身不提供文件。为此,您需要使用 Web 服务器(Apache、nginx 等)。

请参阅配置示例的文档:https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/modwsgi/#serving-files

我将调试设置为 True。这解决了它。剩下的唯一问题是它没有使用 Gzip,而我使用的是 whitenoise:http://whitenoise.readthedocs.org/en/latest/django.html#add-gzip-and-caching-support