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/'
答案 0 :(得分:0)
解决了它。将诸如css之类的静态文件放在一个单独的文件夹中,例如&#39; mystatic&#39;并在STATICFILES_DIRS中列出该文件夹,然后运行manage.py findstatic mycssfile.css
以确保找到它。然后当上传到Heroku时,collectstatic会找到该文件。现在一切都清楚了。