Django项目怎么继承QQ第三方登录
django2.0
先申请qq互联地址->注册认证开发者->创建应用等待审核
下面用social_django第三方库来实现第三方登录
github地址,上面有使用说明
https://github.com/python-social-auth/social-app-django
(1) 安装
pip install social-auth-app-django
(2)install_app中配置
'social_django',
(3)生成表
只需要做migrate,因为migration的文件已经生成好了,数据库中多了五张表,存储第三方登录的信息。
python manage.py migrate
(4) 添加到authentication_backends
中
# settings.py authentication_backends = ( 'social_core.backends.weibo.weibooauth2', 'social_core.backends.qq.qqoauth2', 'social_core.backends.weixin.weixinoauth2', 'django.contrib.auth.backends.modelbackend', )
(5)配置url
# 第三方登录
url('', include('social_django.urls', namespace='social'))
(6)settings里面context_processors
对于template中的用法,向context_processors中加入下面两个
'social_django.context_processors.backends', 'social_django.context_processors.login_redirect',
(7)接口
qq互联里配置回调 :http://域名/complete/qq/、http://www.域名/complete/qq/或者http://127.0.0.1:8000/complete/qq/
在微博开放平台里面设置回调url,调试的时候设置成本地的就可以了,上线的时候改成服务器的ip地址
(8)app secret和app key配置,settings里面
# 第三方登录,里面的值是你的开放平台对应的值 social_auth_weibo_key = 'xxxxxxx' social_auth_weibo_secret = 'xxxxxx' social_auth_qq_key = 'xxxxxxx' social_auth_qq_secret = 'xxxxxxx' social_auth_weixin_key = 'xxxxxxx' social_auth_weixin_secret = 'xxxxxxx'
现在浏览器访问:http://127.0.0.1:8000/login/weibo、http://www.域名/login/qq/、http://127.0.0.1:8000/login/qq/
,就可以登录了,我们还需要设置用户微博、qq登录成功后跳转到首页
#登录成功后跳转到首页 social_auth_login_redirect_url = '/index/' 或者
social_auth_login_redirect_url = '/users/index/' #这里需要配置该路径能访问
在apps下users里配置/users/index/的url路径
#qq第三方登录回调地址
url(r'^index/$',indexview.as_view(),name='index'),
现在就登录后就正常了。qq和微信的登录,一样的操作,只要去开放平台注册应用,其它跟微博登录一样设置就可以了。
原文:https://www.cnblogs.com/zmdComeOn/p/12667228.html