Django SocialAuth是否与Django1.5自定义用户兼容?
我对Django SocialAuth不是很有经验,但我想知道它是否因为新的Django 1.5自定义用户而不起作用,您可以使用电子邮件而不是用户名登录。在实现了自定义用户之后,我只是尝试在现有的Django 1.5项目中实现SocialAuth。无法使用Twitter登录 这里有没有社会权威专业人士能为我提供一些可能缺失的建议 我看了很多教程,但似乎都不管用: Setting.py url.py login.html 错误消息: 更新 根据要求,这是完整的回溯。该令牌似乎不被接受。我已经仔细检查了Twitter密钥和密钥。不过,一切似乎都是正确的Django SocialAuth是否与Django1.5自定义用户兼容?,django,django-socialauth,django-1.5,Django,Django Socialauth,Django 1.5,我对Django SocialAuth不是很有经验,但我想知道它是否因为新的Django 1.5自定义用户而不起作用,您可以使用电子邮件而不是用户名登录。在实现了自定义用户之后,我只是尝试在现有的Django 1.5项目中实现SocialAuth。无法使用Twitter登录 这里有没有社会权威专业人士能为我提供一些可能缺失的建议 我看了很多教程,但似乎都不管用: Setting.py url.py login.html 错误消息: 更新 根据要求,这是完整的回溯。该令牌似乎不被接受。我已经仔细检
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/login/twitter/
Django Version: 1.5
Python Version: 2.7.3
...
Traceback:
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/decorators.py" in wrapper
29. return func(request, request.social_auth_backend, *args, **kwargs)
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/views.py" in auth
31. return auth_process(request, backend)
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/views.py" in auth_process
97. return HttpResponseRedirect(backend.auth_url())
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/backends/__init__.py" in auth_url
620. token = self.unauthorized_token()
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/backends/__init__.py" in unauthorized_token
679. return Token.from_string(self.fetch_response(request))
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/backends/__init__.py" in fetch_response
701. response = dsa_urlopen(request.to_url())
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/utils.py" in dsa_urlopen
255. return urlopen(*args, **kwargs)
File "/usr/lib/python2.7/urllib2.py" in urlopen
127. return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py" in open
401. response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py" in _open
419. '_open', req)
File "/usr/lib/python2.7/urllib2.py" in _call_chain
379. result = func(*args)
File "/usr/lib/python2.7/urllib2.py" in https_open
1219. return self.do_open(httplib.HTTPSConnection, req)
File "/usr/lib/python2.7/urllib2.py" in do_open
1181. raise URLError(err)
Exception Type: URLError at /login/twitter/
Exception Value: <urlopen error [Errno 110] Connection timed out>
是的,DSA与自定义用户模型兼容,不需要定义社交验证用户模型,应用程序默认为验证用户模型(如果已定义)。为什么要命名url…,name=twitter?关于这个错误,你得到了一个超时,可能是当后端试图从twitterapi获取请求令牌时,你能分享一个更详细的回溯吗?我已经应用了你的两个建议。还是没有快乐。我已经编辑了完整的回溯。有一些关于未经授权的令牌。请参阅UpdateMo,问题在于您的服务器实例或本地计算机,当您执行curl或在python shell urlib2.urlopen'中执行curl时会发生什么?它应该删除一个未授权或无效的错误401来验证oauth错误,但不是超时。
url(r'', include('social_auth.urls'),name="twitter"),
(r'^login/$', custom_login),
<a href='{% url "socialauth_begin" "twitter" %}'>twitter</a>
URLError at /login/twitter/
<urlopen error [Errno 110] Connection timed out>
Request Method: GET
Request URL: http://127.0.0.1:8000/login/twitter/
Django Version: 1.5
Exception Type: URLError
Exception Value:
<urlopen error [Errno 110] Connection timed out>
Exception Location: /usr/lib/python2.7/urllib2.py in do_open, line 1181
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/login/twitter/
Django Version: 1.5
Python Version: 2.7.3
...
Traceback:
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/decorators.py" in wrapper
29. return func(request, request.social_auth_backend, *args, **kwargs)
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/views.py" in auth
31. return auth_process(request, backend)
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/views.py" in auth_process
97. return HttpResponseRedirect(backend.auth_url())
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/backends/__init__.py" in auth_url
620. token = self.unauthorized_token()
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/backends/__init__.py" in unauthorized_token
679. return Token.from_string(self.fetch_response(request))
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/backends/__init__.py" in fetch_response
701. response = dsa_urlopen(request.to_url())
File "/home/kave/vc/d-env/local/lib/python2.7/site-packages/social_auth/utils.py" in dsa_urlopen
255. return urlopen(*args, **kwargs)
File "/usr/lib/python2.7/urllib2.py" in urlopen
127. return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py" in open
401. response = self._open(req, data)
File "/usr/lib/python2.7/urllib2.py" in _open
419. '_open', req)
File "/usr/lib/python2.7/urllib2.py" in _call_chain
379. result = func(*args)
File "/usr/lib/python2.7/urllib2.py" in https_open
1219. return self.do_open(httplib.HTTPSConnection, req)
File "/usr/lib/python2.7/urllib2.py" in do_open
1181. raise URLError(err)
Exception Type: URLError at /login/twitter/
Exception Value: <urlopen error [Errno 110] Connection timed out>