解決したいこと
Djangoのallauthで、ログインページを開くと、No Facebook app configured というエラーが表示される。エラーを解決し、正常にログインページが表示されるようにしたいのですが、うまく行きません。
アドバイスお願いいたします。
※サインインなど、別のallauthのデフォルトページでも同様の事象が発生。
前提
・以下の2つの記事を参考に、Djangoにallauthを設定した。
https://www.webcyou.com/?p=10212
https://qiita.com/jansnap/items/62f0de512bc8771ebd58
・フレームワークはDjango、DBはpostgreSQL、VMはDockerを使用。
・Google, Facebook, Github のデベロッパーアカウントからアプリを作成し、シークレットキーやアプリIDなどの情報を取得して、管理画面からCreate Social Application 済み。
・他の開発者のPCで実行したところ、うまく動作しため、キャッシュなどの問題の可能性もある。
allauth実装にあたって作成したコード等
settings.py
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'bootstrap4', 'users', 'articles', 'storages', 'django.contrib.sites',# allauth用に追加 'allauth',# allauth用に追加 'allauth.account',# allauth用に追加 'allauth.socialaccount',# allauth用に追加 'allauth.socialaccount.providers.facebook',# allauth用に追加 'allauth.socialaccount.providers.google',# allauth用に追加 'allauth.socialaccount.providers.twitter',# allauth用に追加 'allauth.socialaccount.providers.github',# allauth用に追加 ] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], # add:'DIRS': [BASE_DIR, 'templates'] # allauth用に追加 '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', ], }, }, ] # 以下、すべてallauth用に追加 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', ] ACCOUNT_AUTHENTICATION_METHOD = 'email' ACCOUNT_USERNAME_REQUIRED = False SITE_ID = 1 LOGIN_REDIRECT_URL = '' ACCOUNT_LOGOUT_REDIRECT_URL = '' ACCOUNT_LOGOUT_ON_GET = True ACCOUNT_EMAIL_VARIFICATION = 'mandatory' ACCOUNT_EMAIL_REQUIRED = True EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
urls.py
from django.contrib import admin from django.urls import path, include from .views import IndexView from django.conf.urls import include, url from django.conf.urls.i18n import i18n_patterns urlpatterns = i18n_patterns( path('admin/', admin.site.urls), path('', IndexView.as_view(), name='index'), path('users/', include('users.urls')), path('users/', include('allauth.urls')),# allauth用に追加 path('articles/', include('articles.urls')), prefix_default_language=False )
requirement.txt
Django==2.2.16 psycopg2 django-bootstrap4==0.0.5 google-cloud-storage django-storages django-allauth # allauth用に追加
試したこと
・データベースの削除・再度マイグレーション
・docker-composeのノーキャッシュで再ビルド
・chromeのシークレットウインドウで開き、プラウザのハードリロード
→結果は変わりませんでした。
・settings.pyのINSTALLED_APPから```
'allauth.socialaccount.providers.facebook'
の記述をコメントアウト。 →コメントアウトすると、正常に動作したが、Facebook認証が使えないと意味がないので、根本的解決にはならない。 ## 調べたサイト等 No Facebook app configured で検索すると、 日本語の記事は見当たらなかったのですが、英語では、以下のような記事を発見しました。 https://stackoverflow.com/questions/14019017/django-allauth-no-facebook-app-configured-please-add-a-socialapp-using-the-djan https://github.com/pennersr/django-allauth/issues/304 読んで解決には至っていないのですが、No Facebook app configured はDB周りのエラーであることは間違いなさそうです。 わかる方いらっしゃいましたら、アドバイスお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。