AI智能
改变未来

记录下自己亲自做的Django项目继承QQ第三方登录

Django2.0

先申请QQ互联地址->注册认证开发者->创建应用等待审核

 

 

 

 

 

 

 

下面用social_django第三方库来实现第三方登录

github地址,上面有使用说明

https://github.com/python-social-auth/social-app-django

(1) 安装

pipinstall social-auth-app-django

 (2)INSTALL_APP中配置

\'social_django\',

(3)生成表

只需要做migrate,因为migration的文件已经生成好了,数据库中多了五张表,存储第三方登录的信息。

python manage.py migrate

(4) 添加到

AUTHENTICATION_BACKENDS

# settings.pyAUTHENTICATION_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\'))

[/code]

 (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/\' #这里需要配置该路径能访问  
[code]在apps下users里配置

/users/index/的

url路径

[/code]

[/code]

 

 

 

 

#QQ第三方登录回调地址url(r\'^index/$\',IndexView.as_view(),name=\'index\'),

  

现在就登录后就正常了。qq和微信的登录,一样的操作,只要去开放平台注册应用,其它跟微博登录一样设置就可以了。

 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 记录下自己亲自做的Django项目继承QQ第三方登录