में पायथन-सोशल-ऑथ का उपयोग कर वेबसाइट पर वापस रीडायरेक्ट करते समय अप्रशिक्षित प्रकार Social-auth-app-django का उपयोग कर वेबसाइट पर सोशल मीडिया प्रमाणीकरण जोड़ने की कोशिश कर रहा हूं।Django
इसलिए मैंने सबसे लोकप्रिय सोशल मीडिया वेबसाइटों (फेसबुक, ट्विटर, Google+) के लिए अलग-अलग ऐप्स बनाए हैं, और वहां कॉलबैक यूआरएल सेट किया है।
लेकिन मैं जब मैं से वेबसाइट पर वापस पुनः निर्देशित कर रहा हूँ एक त्रुटि भर में आ रहा हूँ फेसबुक का कहना है:
:Internal Server Error: /oauth/complete/facebook/
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/django/core/handlers/exception.py", line 39, in inner
response = get_response(request)
File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python3.5/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.5/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
return view_func(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_django/utils.py", line 50, in wrapper
return func(request, backend, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_django/views.py", line 32, in complete
redirect_name=REDIRECT_FIELD_NAME, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_core/actions.py", line 41, in do_complete
user = backend.complete(user=user, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_core/backends/base.py", line 40, in complete
return self.auth_complete(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_core/utils.py", line 252, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_core/backends/facebook.py", line 110, in auth_complete
return self.do_auth(access_token, response, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_core/backends/facebook.py", line 152, in do_auth
return self.strategy.authenticate(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_django/strategy.py", line 115, in authenticate
return authenticate(*args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/django/contrib/auth/__init__.py", line 74, in authenticate
user = backend.authenticate(**credentials)
File "/usr/local/lib/python3.5/site-packages/social_core/backends/base.py", line 80, in authenticate
return self.pipeline(pipeline, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_core/backends/base.py", line 83, in pipeline
out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)
File "/usr/local/lib/python3.5/site-packages/social_core/backends/base.py", line 105, in run_pipeline
for idx, name in enumerate(pipeline[pipeline_index:]):
TypeError: unhashable type: 'slice'
नीचे कैसे मैं social_django
कॉन्फ़िगर कर दिया है का सार है
settings.py
में:
INSTALLED_APPS = [
'social_django',
...
]
AUTHENTICATION_BACKENDS = (
'social_core.backends.google.GoogleOAuth2',
'social_core.backends.twitter.TwitterOAuth',
'social_core.backends.facebook.FacebookOAuth2',
'django.contrib.auth.backends.ModelBackend',
)
SOCIAL_AUTH_FACEBOOK_KEY = 'xxx'
SOCIAL_AUTH_FACEBOOK_SECRET = 'xxx'
...
PIPELINE = {
'PIPELINE_ENABLED': True,
'STYLESHEETS': {...},
'JAVASCRIPT': {...},
'JS_COMPRESSOR': 'pipeline.compressors.NoopCompressor',
'COMPILERS': (
'pipeline.compilers.sass.SASSCompiler',
)
}
बाद में, मैं स्पष्ट रूप से ग करने के लिए डेटाबेस माइग्रेट किए गए नई टेबल काट लें।
Django
और social_django
के संस्करणों कृपया नीचे:
Django
: 1.10.5social_django
: 1.2.0
के बारे में पाइप लाइन का इस्तेमाल किया, मैं django-pipeline
उपयोग कर रहा हूँ, लेकिन यह SASS
फ़ाइलों को CSS
पर संकलित करने के लिए है।
इस त्रुटि का कारण क्या हो सकता है?
टुकड़ा (जैसे एक सूची के रूप में) एक परिवर्तनशील प्रकार का है। तो यदि आप किसी शब्दकोश की कुंजी में इसका उपयोग करने का प्रयास कर रहे हैं तो आपको unhashable प्रकार त्रुटि –
मिल जाएगी, आपको अपना कोड दिखाना होगा, या कम से कम जिस तरह से आपने python-social-auth को कॉन्फ़िगर किया है। –
कृपया Django संस्करण, पायथन-सोशल-ऑथ संस्करण, पूर्ण ट्रेसबैक, कस्टम पाइपलाइन जैसे कस्टम कॉन्फ़िगरेशन आदि जैसे अधिक विवरण पोस्ट करें – omab