【问题标题】:Django deploy collectstatic errorDjango部署collectstatic错误
【发布时间】:2017-09-01 16:04:08
【问题描述】:

我正在尝试在服务器上部署我的 Python Django 项目(使用 Nginx)。 但是当我收集静态数据时

python manage.py collectstatics

我得到下一个错误:

无法导入 Django。你确定它已经安装并且“ ImportError:无法导入 Django。您确定它已安装并在您的 PYTHONPATH 环境变量中可用吗?您忘记激活虚拟环境了吗?

但我有 Django 并“打开”了 virtualenv

点冻结:

certifi==2017.4.17
chardet==3.0.4
command-not-found==0.3
Django==1.10.7
django-appconf==1.0.2
django-ckeditor==5.3.0
django-haystack==2.6.1
django-imagekit==4.0.1
django-js-asset==0.1.1
django-material==1.0.0
django-parler==1.8
flickrapi==2.3
gunicorn==19.7.1
idna==2.5
language-selector==0.1
oauthlib==2.0.2
olefile==0.44
pilkit==2.0
Pillow==4.2.1
pycurl==7.43.0
pygobject==3.20.0
python-apt==1.1.0b1
python-debian==0.1.27
python-systemd==231
pytz==2017.2
requests==2.18.1
requests-oauthlib==0.8.0
requests-toolbelt==0.8.0
requirements==0.1
six==1.10.0
solid-i18n==1.4.1
ssh-import-id==5.5
ufw==0.35
unattended-upgrades==0.1
urllib3==1.21.1
virtualenv==15.0.1
Whoosh==2.7.4

【问题讨论】:

  • 在您完成workon之后,请出示您的pip freeze
  • 你是否在 virtualenv 之外安装了 Django?
  • @BearBrown,我将其添加到我的问题中
  • @phd,是的,我有
  • virtualenv 旨在将全局安装的包与本地分开。如果你在 virtualenv 之外安装了 Django,但没有在里面安装,那么 Django 在里面是不可用的。您必须在激活 virtualenv 之后安装 Django 和所有其他必需的包。

标签: python django nginx virtualenv


【解决方案1】:

请检查你的static nginx 配置文件中的路径。

location /static/ {
        alias   <static directory path>;
    }

应该和setting.py SETTING_ROOT路径一样

STATIC_ROOT = '<static directory path>'

【讨论】:

  • 我第一次尝试配置Nginx。你的意思是 nginx.conf 文件?在其中我没有这样的路径,因为没有“位置{}”
  • 是的,nginx.conf 文件。服务器{ ...位置/静态{自动索引开启; } }
猜你喜欢
  • 2021-05-13
  • 1970-01-01
  • 2015-07-17
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 2019-07-19
相关资源
最近更新 更多