python – django获得社交令牌形式allauth
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – django获得社交令牌形式allauth,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2230字,纯文字阅读大概需要4分钟。
内容图文
![python – django获得社交令牌形式allauth](/upload/InfoBanner/zyjiaocheng/745/549757ee4c0f4b0a95833ee414bbcdd0.jpg)
您好我试图从数据库中获取社交令牌,但我收到此错误.
我找不到任何答案,并尝试了我能想到的一切.
如果有人知道如何解决这个问题.
NameError at /
name 'user' is not defined
Request Method: GET
Request URL: http://localhost:3000/
Django Version: 1.8.2
Exception Type: NameError
Exception Value:
name 'user' is not defined
Exception Location: /home/dk/user-new/just/fb/views.py in home, line 14
Python Executable: /home/dk/user-new/bin/python
Python Version: 3.4.0
Python Path:
['/home/dk/user-new/just',
'/home/dk/user-new/lib/python3.4',
'/home/dk/user-new/lib/python3.4/plat-x86_64-linux-gnu',
'/home/dk/user-new/lib/python3.4/lib-dynload',
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/home/dk/user-new/lib/python3.4/site-packages']
Server time: Wed, 17 Jun 2015 10:09:50 +0000
from django.shortcuts import render
import requests
from allauth.socialaccount import providers
from allauth.socialaccount.models import SocialLogin, SocialToken, SocialApp
from allauth.socialaccount.providers.facebook.views import fb_complete_login
from allauth.socialaccount.helpers import complete_social_login
import allauth.account
def home(request):
access_token = SocialToken.objects.filter(user=user, account__provider='facebook')
更新:
我添加了allauth包模型的链接.
新错误是:
/的AttributeError
类型对象’SocialLogin’没有属性’account’
def home(request):
#user = request.user
user = SocialLogin.account.user
access_token = SocialToken.objects.filter(account=user,account__provider='facebook')
https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/models.py
更新:
无法隐式地将’QuerySet’对象转换为str
access_token = SocialToken.objects.filter(account__user=request.user, account__provider='facebook')
r = requests.get('https://graph.facebook.com/me?access_token='+access_token+'&fields=id,name,email') #MY_CORRECT_TOKEN&fields=id,name,email
解决方法:
在使用之前没有定义用户变量
def home(request):
#user = request.user
access_token = SocialToken.objects.get(account__user=request.user, account__provider='facebook') #get instead of filter (you need only one object)
r = requests.get('https://graph.facebook.com/me?access_token='+access_token.token+'&fields=id,name,email') #add access_token.token to your request
内容总结
以上是互联网集市为您收集整理的python – django获得社交令牌形式allauth全部内容,希望文章能够帮你解决python – django获得社交令牌形式allauth所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。