Heroku,Django Collectstatic导致错误

时间:2017-06-04 07:12:08

标签: python django heroku amazon-s3

我是Heroku的新手,我被要求查看在那里托管的某个人的项目(他们之前的供应商不可用)。

这是一个Django 1.4项目。

为了了解我是否已下载该项目并将其加载到新的Heroku应用程序中。工作正常,但由于错误,我必须设置disable_collectstatic = 1。原始应用程序使用亚马逊s3存储桶作为静态文件,所以我可以使用这些,一切正常。

我现在正在尝试设置我自己的s3存储桶并让它在那里创建静态文件。我得到了以下追溯

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 70, in load_command_class
    return module.Command()
  File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 57, in __init__
    self.storage.path('')
  File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/functional.py", line 184, in inner
    self._setup()
  File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/storage.py", line 279, in _setup
    self._wrapped = get_storage_class(settings.STATICFILES_STORAGE)()
  File "/app/.heroku/python/lib/python2.7/site-packages/django/core/files/storage.py", line 277, in get_storage_class
    raise ImproperlyConfigured('Error importing storage module %s: "%s"' % (module, e))
django.core.exceptions.ImproperlyConfigured: Error importing storage module storages.backends.s3boto: "cannot import name force_bytes"

有趣的是,如果我尝试从我的&#39; new&#39;中访问admin,我会收到相同的ImproperlyConfigured错误。项目

这是什么原因以及我错过了什么?

1 个答案:

答案 0 :(得分:0)

所以@ e4c5指出的问题是包不同步。这个问题并不是django-storagesrequirements.txt文件有django-storages==1.2a,但是找不到,所以我选择了v1.4。当我完成代码时,我意识到我需要回到1.1.8才能获得兼容性。现在排序。