【问题标题】:Serving static files when in deployment mode with debug = false在 debug = false 的部署模式下提供静态文件
【发布时间】:2015-09-12 17:47:47
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您应该从更密切地关注documentation on using WhiteNoise with Django 开始。我看到的第一个区别是您的行:

    STATIC_ROOT = 'staticfiles'
    

    不同于文档:

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

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

    【讨论】:

      猜你喜欢
      • 2012-11-27
      • 2016-11-26
      • 2019-06-01
      • 2020-10-27
      • 2019-12-02
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多