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

时间:2015-06-04 00:06:05

标签: python css django django-staticfiles

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

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

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

我很感激有关如何在staticfiles中使用protocols.6cb653c1aa93.css文件而不是agreement.css static的任何想法。

设置/ 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'),
)

谢谢!

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

2 个答案:

答案 0 :(得分:0)

在制作中,Django不会自己提供文件。您需要使用您的Web服务器(Apache,nginx,...)。

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

答案 1 :(得分:0)

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