无法在我的 Django 项目中使用 Django-allauth
Unable to use Django-allauth with my Django project
作为 Django 新手,在我的项目中使用 Django-allauth 时遇到问题。我在我的项目的 virtualenv 中成功安装了 Django-allauth 包,并且还在 settings.py 文件中进行了相关更改以与我的项目进行相同的配置。
我还检查了 "requirements.txt" 文件,它有一行 "django-allauth==0.23.0"。但是当我尝试 运行 'python manage.py migrate' 命令时,我收到一个 ImportError 消息:没有名为 allauth 的模块。
下面是我的 settings.py 代码:
Settings.py
...
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.google',
'myapp_v1',
)
SITE_ID = 1
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder'
)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'myapp.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.request',
],
},
},
]
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
...
如果我在这里遗漏了什么,请告诉我。
由于我们在评论中的讨论确定了问题所在,我将 post 我的回答。
我建议您使用一些方法。
卸载其中一个 python 版本,因为您实际上并不需要两个 python 运行。或者,从您的环境变量中删除 python 路径之一,以便 CLI 和您的项目使用相同的版本。
使用 Pycharm,一个 IDE 可以让您通过其界面使用特定的 python 版本,并允许您为您拥有的版本安装软件包选中.
或
- 在 Whosebug 上关注 this thread。这与您在上一条评论中提出的问题类似。
作为 Django 新手,在我的项目中使用 Django-allauth 时遇到问题。我在我的项目的 virtualenv 中成功安装了 Django-allauth 包,并且还在 settings.py 文件中进行了相关更改以与我的项目进行相同的配置。
我还检查了 "requirements.txt" 文件,它有一行 "django-allauth==0.23.0"。但是当我尝试 运行 'python manage.py migrate' 命令时,我收到一个 ImportError 消息:没有名为 allauth 的模块。
下面是我的 settings.py 代码:
Settings.py
...
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.google',
'myapp_v1',
)
SITE_ID = 1
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder'
)
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
)
ROOT_URLCONF = 'myapp.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.template.context_processors.request',
],
},
},
]
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
...
如果我在这里遗漏了什么,请告诉我。
由于我们在评论中的讨论确定了问题所在,我将 post 我的回答。 我建议您使用一些方法。
卸载其中一个 python 版本,因为您实际上并不需要两个 python 运行。或者,从您的环境变量中删除 python 路径之一,以便 CLI 和您的项目使用相同的版本。
使用 Pycharm,一个 IDE 可以让您通过其界面使用特定的 python 版本,并允许您为您拥有的版本安装软件包选中.
或
- 在 Whosebug 上关注 this thread。这与您在上一条评论中提出的问题类似。