Heroku css静态文件名已更改

时间:2015-06-12 00:52:34

标签: css django heroku

Django代码在本地正确提供静态css文件,但在推送到Heroku时则不会。

推送过程包括运行collectstatic,它似乎会附加到css文件名。查看Heroku服务索引页面的来源是:

<link href="/static/mycssfile.cba06cddbdea.css" rel="stylesheet" type="text/css"/>

该文件存在于heroku的预期静态文件夹中,作为mycssfile.css。

收集并正确提供所有管理静态文件。这是静态设置。这在工头服务时有效。

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'django.contrib.staticfiles.finders.FileSystemFinder',
)
STATIC_ROOT = os.path.join(PROJECT_ROOT,'static')
STATIC_URL = '/static/'

1 个答案:

答案 0 :(得分:0)

解决了它。将诸如css之类的静态文件放在一个单独的文件夹中,例如&#39; mystatic&#39;并在STATICFILES_DIRS中列出该文件夹,然后运行manage.py findstatic mycssfile.css以确保找到它。然后当上传到Heroku时,collectstatic会找到该文件。现在一切都清楚了。