繁体   English   中英

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

[英]Serving static files when in deployment mode with debug = false

我已经在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' %}" />

您应该首先更紧密地遵循有关将WhiteNoise与Django结合使用文档 我看到的第一个区别是您的行:

STATIC_ROOT = 'staticfiles'

与文档不同:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM