【发布时间】:2015-03-03 20:30:13
【问题描述】:
我正在使用 Django、django-storages 和 S3 (boto) 以及简单的缩略图。在我的本地机器上,一切都按预期工作:如果缩略图不存在,它会被创建并上传到 S3 并保存在 easy-thumbnails 数据库表中。但问题是,当我将代码推送到生产服务器时,它不起作用,easy-thumbnails 输出一个空图像 SRC。
我已经注意到,当我在本地机器上创建缩略图时,简单缩略图路径使用反斜杠,而我的 Linux 服务器需要正斜杠。如果我更改数据库中的斜线,缩略图会显示在我的 Linux 机器上,但它仍然无法在 Linux(生产)机器上生成缩略图。
简单的 django-storages 测试失败:
>>> import django
>>> from django.core.files.storage import default_storage
>>> file = default_storage.open('storage_test', 'w')
输出: django.core.exceptions.ImproperlyConfigured:请求设置 DEFAULT_FILE_STORAGE,但未配置设置。您必须在访问设置之前定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。
如果我这样做:
>>> from base.settings import staging
>>> from django.conf import settings
>>> settings.configure(staging)
这可行(我有一个 settings 目录,其中包含 4 个设置文件:base.py、staging.py、development.py 和 production.py)
似乎在我的生产服务器上,配置文件没有正确加载(但是网站的其余部分工作正常)。如果我将THUMBNAIL_DEBUG = True 添加到我的设置文件,但easy-thumbnails 的调试仍然不起作用(它在我的本地机器上工作)。
可能是什么问题?我已经调试了 10 多个小时了。
【问题讨论】: