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 <[email protected]>'
私はDjango-Alluthを使用したことがないので、初心者です。できるだけ簡単に手伝ってください。
これは、開発マシンとサーバーに異なるバージョンのAllauthがあることを意味します。あなたは間違いなく両側で同じバージョンを使用する必要があります。
サーバーで発生している問題の理由として、Django-allauthのバージョン0.22では、 コンテキストプロセッサがテンプレートタグに置き換えられています 。
次のことを確認する必要があります。
pip install Django-allauth==0.22
)# `allauth` specific context processors
'allauth.account.context_processors.account',
'allauth.socialaccount.context_processors.socialaccount',
このエラーは、モジュールが見つからなかったことを意味します。
おそらく、サーバーにallauth
というサードパーティのモジュールをインストールする必要があります(または、Herokuのように自動デプロイを使用している場合は、requirements.txtに追加します)。
pip install Django-allauth
ローカルでpip freeze
を実行して、インストールされているモジュールを確認できます。
Django-allauth
の特定のバージョンをインストールするには、以下を使用します。
pip install Django-allauth==0.22.0
Allauth0.22.0に問題がありました。allauth0.20.0をインストールしてください
pip install Django-allauth==0.20.0