我想使用Django-Allauth,所以我安装如下,它在我的笔记本电脑localhost中完美运行;但当我把它拉进我的服务器时,我 遇到以下错误:
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,所以我是新手,请尽可能地帮助我。
答案 0 :(得分:42)
这意味着您的开发机器和服务器中有不同版本的Allauth。你绝对应该在双方使用相同的版本。
在django-allauth的0.22版本context processors have been replaced by template tags中,您正在服务器上遇到问题的原因。
您只需要确保:
pip install django-allauth==0.22
)# `allauth` specific context processors
'allauth.account.context_processors.account',
'allauth.socialaccount.context_processors.socialaccount',
答案 1 :(得分:3)
此错误表示找不到该模块。
您可能只需在服务器上安装名为allauth
的第三方模块(或将其添加到requirements.txt,如果您使用Heroku上的自动部署)。
pip install django-allauth
您可以在本地运行pip freeze
以查看已安装的模块。
要安装特定版本的django-allauth
,请使用:
pip install django-allauth==0.22.0
答案 2 :(得分:1)
allauth 0.22.0有问题,安装allauth 0.20.0
pip install django-allauth==0.20.0
答案 3 :(得分:0)
您可以在本地运行pip Frozen以查看已安装的模块。
要安装django-allauth的特定版本,请使用。它将解决问题。
pip install django-allauth == 0.22.0