Ningún módulo llamado ‘allauth.account.context_processors’

Quiero usar Django-Allauth, así que instalé lo siguiente y funciona perfectamente en mi computadora portátil localhost; pero cuando lo consigo en mi servidor, me encuentro con el siguiente error:

No module named 'allauth.account.context_processors' 

¿Qué tengo que hacer?

 # 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 ' 

Nunca usé Django-Alluth, así que soy un novato, ayúdame lo más fácil que puedas.

Esto significa que tienes diferentes versiones de Allauth en tu máquina de desarrollo y en tu servidor. Definitivamente debes usar la misma versión en ambos lados.

En el porqué del problema que está golpeando en el servidor, en la versión 0.22 de django-allauth, los procesadores de contexto han sido reemplazados por tags de plantilla .

Solo debes asegurarte de que:

  1. Está ejecutando al menos Allauth 0.22, que es la última versión a partir de ahora ( pip install django-allauth==0.22 )
  2. No se enumeran procesadores de contexto específicos de Allauth en la configuración del proyecto de Django. Así que necesitas eliminar estas dos líneas:
 # `allauth` specific context processors 'allauth.account.context_processors.account', 'allauth.socialaccount.context_processors.socialaccount', 

Este error significa que no se pudo encontrar el módulo.

Probablemente solo necesite instalar el módulo de terceros llamado allauth en su servidor (o agregarlo a allauth , si está usando implementaciones automáticas como en Heroku).

 pip install django-allauth 

Puede ejecutar pip freeze localmente para ver qué módulos están instalados.

Para instalar una versión específica de django-allauth , use:

 pip install django-allauth==0.22.0 

Tuvo un problema con allauth 0.22.0, instale allauth 0.20.0

 pip install django-allauth==0.20.0