【问题标题】:Serving Django static files on Heroku在 Heroku 上提供 Django 静态文件
【发布时间】:2012-12-03 11:45:40
【问题描述】:

在将我的 Django 站点从开发服务器移植到 Heroku 时,我遇到了一个奇怪的问题。我知道我不应该使用 django 直接提供静态文件,但我现在只是在测试一个想法。

我尝试过使用:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    urlpatterns += staticfiles_urlpatterns()

还有:

from django.conf import settings
    urlpatterns += patterns(
        (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),)

但无论使用哪种解决方案,我的 .css 文件都能正常使用,但 .png 图像文件却不行。这些文件在 Django 和 Heroku 处理它们的方式上会有所不同吗?

【问题讨论】:

  • 为什么不集成 django-storages 并将它们托管在 s3 上?
  • 你试过heroku run python manage.py collectstatic吗?你的 heroku 实例中的 settings.DEBUG 是什么?
  • 如果你能得到css文件你应该也能得到.png!可能是上/下文件名问题?此外,打开 heroku 日志并验证路径。最后,将您的文件移动到 S3。从 keroku dyno 提供静态文件非常昂贵(或非常慢)。
  • 我试过 collectstatic。我曾考虑将它们托管在 S3 上,但我宁愿暂时不要经历这些麻烦(尽管我承认我最终可能不得不这样做)。我想研究是否有 S3 的替代品。我去查查案情……这似乎极有可能……
  • Danihp,您想发布您的上/下解决方案作为答案吗?没错,我想删除我的答案并接受你的答案。

标签: django heroku django-staticfiles


【解决方案1】:

这是大小写问题。事实证明,文件名的大写字母比 html 文件中的引用多一个……当我从 Mac OS 转移到区分大小写的 Unix 时,这总是一个问题。

【讨论】:

    猜你喜欢
    • 2013-01-13
    • 2012-07-20
    • 2013-09-04
    • 1970-01-01
    • 2013-12-27
    • 2013-07-03
    • 2020-10-27
    • 1970-01-01
    • 2017-10-27
    相关资源
    最近更新 更多