2017-11-03 20 views
2

私は以前同様の質問があったことは知っていますが、それらのどれも私の状況と全く同じようには見えませんでした。私はこのようなルックスを受け取るエラー:social_djangoを統合するときに 'social'は登録された名前空間ではありません

Environment: 


Request Method: GET 
Request URL: http://web/login/auth0 

Django Version: 1.11 
Python Version: 3.5.4 
Installed Applications: 
['django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'social_django', 
'cx_benchmark.apps.authentication'] 
Installed Middleware: 
['django.middleware.security.SecurityMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.common.CommonMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware', 
'django.middleware.clickjacking.XFrameOptionsMiddleware'] 



Traceback: 

File "/usr/local/lib/python3.5/site-packages/django/urls/base.py" in reverse 
    77.     extra, resolver = resolver.namespace_dict[ns] 

During handling of the above exception ('social'), another exception occurred: 

File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner 
    41.    response = get_response(request) 

File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 
    187.     response = self.process_exception_by_middleware(e, request) 

File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 
    185.     response = wrapped_callback(request, *callback_args, **callback_kwargs) 

File "/usr/local/lib/python3.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func 
    57.   response = view_func(request, *args, **kwargs) 

File "/usr/local/lib/python3.5/site-packages/social_django/utils.py" in wrapper 
    37.     uri = reverse(redirect_uri, args=(backend,)) 

File "/usr/local/lib/python3.5/site-packages/django/urls/base.py" in reverse 
    87.      raise NoReverseMatch("%s is not a registered namespace" % key) 

Exception Type: NoReverseMatch at /login/auth0 
Exception Value: 'social' is not a registered namespace 

は、私のアプリケーションはDockerizedある、と私はAuth0とsocial_djangoを統合しようとしています。私はスタックにnginx、gunicorn、postgresを使用しています。私は主に動作させるには、このチュートリアルに従っ:https://auth0.com/docs/quickstart/webapp/django

私は私のメインの設定ファイルにインストールsocial_djangoとサブアプリケーション、authenticationあります

# /src/my_app/settings.py 

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'social_django', 
    'my_app.apps.authentication', 
] 

マイAuth0連動の設定は次のようになります。

# /src/my_app/settings.py 

SOCIAL_AUTH_TRAILING_SLASH = False 
SOCIAL_AUTH_AUTH0_DOMAIN = '[hidden]' 
SOCIAL_AUTH_AUTH0_KEY = '[hidden]' 
SOCIAL_AUTH_AUTH0_SECRET = '[hidden]' 

SOCIAL_AUTH_AUTH0_SCOPE = [ 
    'openid', 
    'profile' 
] 

AUTHENTICATION_BACKENDS = { 
    'my_app.apps.authentication.auth0backend.Auth0', 
    'django.contrib.auth.backends.ModelBackend' 
} 

LOGIN_URL = "/login/auth0" 
LOGIN_REDIRECT_URL = "/dashboard" 
LOGOUT_REDIRECT_URL = "/" 

メインアプリケーションのurls.pyは次のようになります。

# /src/my_app/urls.py 

from django.conf.urls import include, url 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^', include('my_app.apps.authentication.urls', namespace='authentication')), 
] 

と認証アプリのためのurls.pyは次のようになります。私はドッカーイメージをビルドする場合

# /src/my_app/apps/authentication/urls.py 

from django.conf.urls import include, url 
from . import views 

app_name = 'authentication' 

urlpatterns = [ 
    url('^$', views.index), 
    url(r'^dashboard', views.dashboard), 
    url(r'^', include('django.contrib.auth.urls', namespace='auth')), 
    url(r'^', include('social_django.urls', namespace='social')), 
] 

、私は上記のエラーを取得し、それを実行し、アクセス/login/auth0

私が使用しています:

certifi (2017.7.27.1) 
chardet (3.0.4) 
defusedxml (0.5.0) 
Django (1.11) # <--- 
ecdsa (0.13) 
future (0.16.0) 
gunicorn (19.6.0) 
idna (2.6) 
oauthlib (2.0.6) 
pip (9.0.1) 
psycopg2 (2.6.2) 
pycrypto (2.6.1) 
PyJWT (1.5.3) 
python-jose (1.4.0) 
python3-openid (3.1.0) 
requests (2.18.4) 
requests-oauthlib (0.8.0) 
setuptools (36.6.0) 
six (1.11.0) 
social-auth-app-django (2.0.0) # <--- 
social-auth-core (1.5.0) 
urllib3 (1.22) 
wheel (0.30.0) 

何かアドバイスを?ありがとうございました!

+0

URLパターンがうまく見えますが、django 1.10.5(またはそれ以上)のアップデートがこの問題を解決することを示唆している投稿があります。 – PRMoureu

+0

@PRMoureu django 1.11の代わりに同じ問題が発生しました。私の元の投稿のバージョンも更新しました。 (わかりやすくするために、私はもともと1.10を使用していました)。 – zhirsch

答えて

0

この場合、2つのベースURLを使用しています。 django.contrib.auth.urlsとsocial_django.urlsには同じURLがあります。私はどちらかを変える必要があると思う。私が間違っているなら無視してください。それが助けになったら、私に知らせてください。ありがとう。

関連する問題