Как добавить электронную почту для входа в систему через Google oauth Django

Я создаю проект Django и у меня есть 3 приложения.

  • Студенты входят в систему для выполнения заданий.
  • Преподаватели входят в систему, чтобы управлять списком действий студентов.
  • Администраторы управляют разрешениями и входами. Администраторы будут добавлять адреса электронной почты учеников и учителей. чтобы проверить, что только добавленный email сможет войти в систему, а мой проект использует только google oauth login, может ли кто-нибудь подсказать мне, что мне нужно сделать? Если вы хотите, чтобы администратор добавил адрес электронной почты, и только добавленный email сможет войти в систему.
  • .

что я пробовал

views.py

def admin_user_setting(req):
    if req.method == "POST":
        email_user = req.POST.get('email_user')
        obj = Add_User_Email_User(email_user=email_user)
        obj.save()
        return redirect('/admin_user_setting')   
    else:
        obj = Add_User_Email_User()   
    obj = Add_User_Email_User.objects.all()   
    AllUser = Add_User_Email_User.objects.all()
    page_num = req.GET.get('page', 1)
    p = Paginator(AllUser, 10)
    try:
        page = p.page(page_num)
    except:
        page = p.page(1)        
    context = {
        "AllUser": Add_User_Email_User.objects.all(),
        "page" : page,
    }
    return render(req, 'pages/admin_user_setting.html', context)   

urls.py

urlpatterns = [
    path('admin_user_setting',views.admin_user_setting, name="admin_user_setting"),
]

forms.py

class UserForm(ModelForm):
    class Meta:
        model = Add_User_Email_User
        fields = ['email_user']

admin.py

admin.site.register(Add_User_Email_User)

models.py

class Add_User_Email_User(models.Model):
    email_user = models.CharField(max_length=500, null=True)

    def __str__(self):
        return self.email_user

Вернуться на верх