没有名为 'allauth.account.context_processors' 的模块
No module named 'allauth.account.context_processors'
我想使用 Django-Allauth,所以我安装如下,它在我的笔记本电脑本地主机上完美运行;但是当我把它拉到我的服务器时,我
遇到以下错误:
No module named 'allauth.account.context_processors'
我该怎么办?
# Django AllAuth
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# Already defined Django-related contexts here
# `allauth` needs this from django
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.request',
# `allauth` specific context processors
'allauth.account.context_processors.account',
'allauth.socialaccount.context_processors.socialaccount',
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.core.context_processors.request",
"moolak.context_processors.image",
],
},
},
]
AUTHENTICATION_BACKENDS = (
# Needed to login by username in Django admin, regardless of `allauth`
'django.contrib.auth.backends.ModelBackend',
# `allauth` specific authentication methods, such as login by e-mail
'allauth.account.auth_backends.AuthenticationBackend',
)
SOCIALACCOUNT_QUERY_EMAIL = True
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
SOCIALACCOUNT_PROVIDERS = \
{'google':
{'SCOPE': ['profile', 'email'],
'AUTH_PARAMS': {'access_type': 'online'}}}
SOCIALACCOUNT_PROVIDERS = \
{'facebook': {'SCOPE': ['email', 'public_profile', 'user_friends'], 'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 'METHOD': 'js_sdk', 'VERSION': 'v2.3'}}
# newsletter
NEWSLETTER_DEFAULT_HEADER_SENDER = 'NewsLetter <info@m.com>'
我从来没有使用过Django-Alluth,所以我是新手,请尽可能简单地帮助我。
此错误表示找不到模块。
您可能只需要在您的服务器上安装名为 allauth
的第 3 方模块(或者将其添加到 requirements.txt,如果您使用像 Heroku 一样的自动部署)。
pip install django-allauth
您可以运行 pip freeze
在本地查看安装了哪些模块。
要安装特定版本的 django-allauth
,请使用:
pip install django-allauth==0.22.0
allauth 0.22.0 有问题,请安装 allauth 0.20.0
pip install django-allauth==0.20.0
这意味着您的开发机器和服务器中有不同版本的 Allauth。你绝对应该在两边使用相同的版本。
在 django-allauth 的 0.22 版本中,了解您在服务器上遇到的问题的原因,context processors have been replaced by template tags。
您只需确保:
- 您 运行 至少是 Allauth 0.22,这是目前的最新版本 (
pip install django-allauth==0.22
)
- 您的 Django 项目设置中没有列出 Allauth 特定的上下文处理器。所以你需要删除这两行:
# `allauth` specific context processors
'allauth.account.context_processors.account',
'allauth.socialaccount.context_processors.socialaccount',
你可以在本地运行 pip freeze 查看安装了哪些模块。
要安装特定版本的 django-allauth,请使用。它将解决问题。
pip 安装 django-allauth==0.22.0
我想使用 Django-Allauth,所以我安装如下,它在我的笔记本电脑本地主机上完美运行;但是当我把它拉到我的服务器时,我 遇到以下错误:
No module named 'allauth.account.context_processors'
我该怎么办?
# Django AllAuth
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# Already defined Django-related contexts here
# `allauth` needs this from django
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.request',
# `allauth` specific context processors
'allauth.account.context_processors.account',
'allauth.socialaccount.context_processors.socialaccount',
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.core.context_processors.request",
"moolak.context_processors.image",
],
},
},
]
AUTHENTICATION_BACKENDS = (
# Needed to login by username in Django admin, regardless of `allauth`
'django.contrib.auth.backends.ModelBackend',
# `allauth` specific authentication methods, such as login by e-mail
'allauth.account.auth_backends.AuthenticationBackend',
)
SOCIALACCOUNT_QUERY_EMAIL = True
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
SOCIALACCOUNT_PROVIDERS = \
{'google':
{'SCOPE': ['profile', 'email'],
'AUTH_PARAMS': {'access_type': 'online'}}}
SOCIALACCOUNT_PROVIDERS = \
{'facebook': {'SCOPE': ['email', 'public_profile', 'user_friends'], 'AUTH_PARAMS': {'auth_type': 'reauthenticate'}, 'METHOD': 'js_sdk', 'VERSION': 'v2.3'}}
# newsletter
NEWSLETTER_DEFAULT_HEADER_SENDER = 'NewsLetter <info@m.com>'
我从来没有使用过Django-Alluth,所以我是新手,请尽可能简单地帮助我。
此错误表示找不到模块。
您可能只需要在您的服务器上安装名为 allauth
的第 3 方模块(或者将其添加到 requirements.txt,如果您使用像 Heroku 一样的自动部署)。
pip install django-allauth
您可以运行 pip freeze
在本地查看安装了哪些模块。
要安装特定版本的 django-allauth
,请使用:
pip install django-allauth==0.22.0
allauth 0.22.0 有问题,请安装 allauth 0.20.0
pip install django-allauth==0.20.0
这意味着您的开发机器和服务器中有不同版本的 Allauth。你绝对应该在两边使用相同的版本。
在 django-allauth 的 0.22 版本中,了解您在服务器上遇到的问题的原因,context processors have been replaced by template tags。
您只需确保:
- 您 运行 至少是 Allauth 0.22,这是目前的最新版本 (
pip install django-allauth==0.22
) - 您的 Django 项目设置中没有列出 Allauth 特定的上下文处理器。所以你需要删除这两行:
# `allauth` specific context processors
'allauth.account.context_processors.account',
'allauth.socialaccount.context_processors.socialaccount',
你可以在本地运行 pip freeze 查看安装了哪些模块。
要安装特定版本的 django-allauth,请使用。它将解决问题。
pip 安装 django-allauth==0.22.0