【发布时间】: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