我知道这个问题已经被提出并得到了回答,但到目前为止我看到的解决方案并没有解决问题。我试图在python中运行以下命令来验证登录我当前正在构建的网站的用户。
from django.contrib.auth.models import User
但是,我收到以下错误:
Traceback (most recent call last):
"C:\Users\<user>\Documents\GitHub\MegaPortal\BackEnd\BackEnd\test.py", line 4, in <module>
from django.contrib.auth.models import User
File "C:\Users\<user>\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\contrib\auth\models.py", line 2, in <module>
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "C:\Users\<user>\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\contrib\auth\base_user.py", line 47, in <module>
class AbstractBaseUser(models.Model):
File "C:\Users\<user>\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\db\models\base.py", line 100, in __new__
app_config = apps.get_containing_app_config(module)
File "C:\Users\<user>\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\apps\registry.py", line 244, in get_containing_app_config
self.check_apps_ready()
File "C:\Users\<user>\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\apps\registry.py", line 127, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
奇怪的是,当我在Atom上运行时,这个命令会出错,但是当我使用Django的shell运行时,它不会给出任何错误。我已经尝试在我的settings.py文件中输入以下命令
import django
django.setup()
但仍然没有。
非常感谢任何帮助。
编辑:我从系统python运行代码而不是virtualenv。代码还没有在GitHub上。 Django版本是2.0.2。我的代码是:from django.contrib.auth import authenticate
from django.contrib.auth.models import User
user = authenticate(username='john', password='secret')
if user is not None:
# redirect to personal page
else:
print(' ERROR pasword or username is not correct')
答案 0 :(得分:0)
在项目目录中输入cmd并键入 cd到项目的主目录(“manage.py”文件所在的位置)
然后,输入python manage.py shell
现在你将进入python解释器 现在使用:
导入djangoimport django
他们使用此导入用户:
from django.contrib.auth.models import User
现在采取你想要的任何行动。
希望这有帮助