Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django+;heroku-在没有';不存在_Django_Heroku_Import_Django Registration - Fatal编程技术网

Django+;heroku-在没有';不存在

Django+;heroku-在没有';不存在,django,heroku,import,django-registration,Django,Heroku,Import,Django Registration,我是django新手(使用python 2.7),我只是第一次尝试使用heroku,但我总是遇到以下错误: remote: -----> Preparing static assets remote: Collectstatic configuration error. To debug, run: remote: $ heroku run python manage.py collectstatic --noinput 当我运行该命令时,会显示一个关于dja

我是django新手(使用python 2.7),我只是第一次尝试使用heroku,但我总是遇到以下错误:

remote: -----> Preparing static assets
remote:        Collectstatic configuration error. To debug, run:
remote:        $ heroku run python manage.py collectstatic --noinput
当我运行该命令时,会显示一个关于django注册redux库的导入错误。我以前在Django遇到过这个问题,我将RequestSite放在“requests”下,将Site放在“models”下,从而解决了这个问题。这解决了问题,但错误仍然出现在Heroku中

(venv) C:\Users\Carolina\Desktop\Coding\venv\project1>heroku run python manage.p
    y collectstatic --noinput
    Running python manage.py collectstatic --noinput on acla-acla... up, run.3645
    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 350, in execute_from_command_line
        utility.execute()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/_
    _init__.py", line 324, in execute
        django.setup()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/__init__.py", lin
    e 18, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/apps/registry.py"
    , line 115, in populate
        app_config.ready()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/app
    s.py", line 22, in ready
        self.module.autodiscover()
      File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/__i
    nit__.py", line 26, in autodiscover
        autodiscover_modules('admin', register_to=site)
      File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/module_load
    ing.py", line 50, in autodiscover_modules
        import_module('%s.%s' % (app_config.name, module_to_search))
      File "/app/.heroku/python/lib/python2.7/importlib/__init__.py", line 37, in im
    port_module
        __import__(name)
      File "/app/.heroku/python/lib/python2.7/site-packages/registration/admin.py",
    line 2, in <module>
        from django.contrib.sites.models import RequestSite
    ImportError: cannot import name RequestSite
这是我用pip freeze得到的,以防万一:

Django==1.9
django-crispy-forms==1.5.2
django-registration==2.0.3
django-registration-redux==1.2
django-tinymce==2.2.0
Pillow==3.0.0
requests==2.9.0
South==1.0.2
stripe==1.27.1
wheel==0.24.0
有人知道为什么会这样吗?提前谢谢

编辑--

好的,问题是丹尼尔·罗斯曼提到的。这个库在pypi中被破坏了,我不得不告诉heroku从github安装它(包是固定的)。 因此,我转到我的requirements.txt文件并替换了这一行:

django-registration-redux==1.2
关于这一点:

-e git://github.com/macropin/django-registration.git#egg=django-registration==1.2 
(我还删除了'django registration==2.0.3',因为它是django registration redux的旧版本,并且产生了问题)。
希望这能帮助有同样问题的人

听起来像是您为本地安装的django registration redux副本编辑了代码。但这对Heroku没有任何影响,因为库将根据requirements.txt中的版本直接从PyPI安装


如果库真的损坏了,您需要将其分叉,并将requirements.txt指向您的固定版本。然而,看看GitHub上的代码,它实际上似乎并没有被破坏;您只需更新所指向的版本。

听起来您为本地安装的django registration redux副本编辑了代码。但这对Heroku没有任何影响,因为库将根据requirements.txt中的版本直接从PyPI安装


如果库真的损坏了,您需要将其分叉,并将requirements.txt指向您的固定版本。然而,看看GitHub上的代码,它实际上似乎并没有被破坏;您只需要更新所指向的版本。

在本地运行collectstatic时会发生什么?如果debug=False,静态文件不会加载(但这似乎发生在许多和我一样观看同一教程的人身上-我必须运行python manage.py runserver-他们无法正常工作)。debug=True时,一切正常。在本地运行collectstatic时会发生什么?debug=False时,静态文件不会加载(但这似乎发生在许多和我一样观看同一教程的人身上——我必须运行python manage.py runserver——这对他们的工作不安全)。debug=True时,一切正常。但我检查了版本,django registration redux 1.2似乎是最新的版本:这是我在本地使用pip安装的版本(我必须修复它):sb但我正在检查版本,django registration redux 1.2似乎是最新的版本:这是我也使用pip在本地安装的版本(我必须修复它):S
-e git://github.com/macropin/django-registration.git#egg=django-registration==1.2