我正在使用一个API来使用Django REST框架与移动设备通信服务器,并且我根据文档创建了一个自定义用户模型,这在正常使用python manage.py runserver
时效果很好。当我运行sudo python manage.py runserver 0.0.0.0.80
进行一些初步测试时,django会抱怨ImportError: cannot import name AbstractUser
。我在我的模型的第8行中导入了这个from django.contrib.auth.models import AbstractUser
。我已经尝试了不同的导入类的方法,但是Django说它不在那里,我找不到任何类似于这个错误的谷歌。有没有人看过这个或者我错过了一些明显的东西?
答案 0 :(得分:0)
听起来问题是,当您使用sudo
时,您正在丢弃环境变量,例如您的PYTHONPATH
。尝试使用sudo -E
来保护您的环境并查看其是否有效。
但是,一般情况下,我建议不要尝试使用sudo
就地运行您的应用。除其他原因外,它可能会创建具有错误权限的临时文件,.pyc文件等。也许制作你的应用程序的副本并用gunicorn等正确设置它?