使用debug = false在部署模式下提供静态文件

时间:2015-06-25 22:28:14

标签: python django heroku django-staticfiles django-settings

我已经在heroku上部署了我的应用程序,并且使用whitenoise提供静态文件。 一切都很完美,但当我转向debug=false时,css停止渲染。这可能是什么问题?静态文件不是由django提供的,而是由whitenoise提供的。无法弄清楚。

相关settings.py

 STATIC_URL = '/static/'
 STATIC_ROOT = 'staticfiles'
 STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
 MEDIA_URL = '/media/'
 MEDIA_ROOT = os.path.join(BASE_DIR, "media")

项目' urls.py

urlpatterns = [
url(r'^', include('watch.urls', namespace="watch")),
url(r'^admin/', include(admin.site.urls)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

模板的静态文件声明

{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'css/finale.css' %}" />

1 个答案:

答案 0 :(得分:0)

您应该首先关注documentation on using WhiteNoise with Django。我看到的第一个区别是你的行:

STATIC_ROOT = 'staticfiles'

与文档不同:

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

如果遵循该教程不起作用,您应确保包含应用的所有相关部分(例如,我需要查看wsgi.py以及您上面显示的文件)包括WHITENOISE_XXXXXX中的所有settings.py设置,以找出问题。

相关问题