来自django.contrib.auth.models导入用户

时间:2018-02-12 21:57:23

标签: python django web

我知道这个问题已经被提出并得到了回答,但到目前为止我看到的解决方案并没有解决问题。我试图在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')

1 个答案:

答案 0 :(得分:0)

在项目目录中输入cmd并键入 cd到项目的主目录(“manage.py”文件所在的位置)

然后,输入

python manage.py shell

现在你将进入python解释器 现在使用:

导入django
import django

他们使用此导入用户:

from django.contrib.auth.models import User

现在采取你想要的任何行动。

希望这有帮助