Как получить данные (а не войти) из аккаунта Google человека, используя Google OAUTH 2.0 в Django? - PullRequest
0 голосов
/ 18 января 2019

Я работаю на веб-сайте социальной сети и хочу внедрить Google Login. Однако при входе в систему будет создан пользовательский объект, в то время как мой веб-сайт хранит данные в объектах «Member», которые однозначно связаны с соответствующими объектами User.

Что я хочу сделать, это просто получить информацию о человеке из Google API, а затем использовать эту информацию для создания соответствующего объекта User и Member, а затем войти в систему как этот пользователь. Как я могу это сделать? Кроме того, есть ли лучший способ справиться с этим?

models.py

from django.db import models
from django.contrib.auth.models import User
from django.core import validators
from django.conf import settings
import re


class Member(models.Model):
    username = models.CharField(max_length=40)
    name = models.CharField(max_length=40)
    user = models.OneToOneField(User, unique=True, on_delete=models.CASCADE)
    number_of_followers = models.IntegerField(default=0)
    bio = models.TextField(blank=True)
    follows = models.ManyToManyField("self", related_name='followers', symmetrical=False, blank=True)
    subscribed_to = models.ManyToManyField("self", related_name='subscriber', symmetrical=False, blank=True)
    profile_picture = models.ImageField(upload_to='propic', blank=True)
    email = models.EmailField(max_length=60, blank=True)

    def __str__(self):
        return self.username
...