python - 我可以在一个项目中使用电子邮件验证功能和使用谷歌登录吗?(在 django 中)
问题描述
我尝试制作一个具有电子邮件验证和使用谷歌功能登录的网站,所以首先我制作了电子邮件验证功能,它可以工作,然后我尝试使用谷歌功能登录,但是当我在教程中看到时,只能有 1功能,即选择验证电子邮件或使用google登录,因为我使用自定义身份验证系统制作的验证电子邮件部分,而教程中使用google登录则使用包中的默认身份验证系统。如果两个都可以用,怎么用?
这是我的views.py(我的登录和注册功能)
class RegistrationView(View):
def get(self, request):
form = RegistrationForm()
return render(request, 'app/register.html',{'form':form})
def post(self, request):
form = RegistrationForm(request.POST)
if form.is_valid():
messages.success(request,'Selamat Akun kamu telah Teregistrasi. Silahkan lihat email untuk memverifikasi')
form.save()
email = request.POST.get('email')
user = User.objects.get(email=email)
send_activation_email(user,request)
return redirect('registration')
class LoginView(View):
def get(self, request):
form = LoginForm()
return render(request, 'app/login.html',{'form':form})
def post(self, request):
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request, username=username, password=password)
if user and not user.is_email_verified:
messages.add_message(request, messages.ERROR,
'Email mu belum terverifikasi silahkan lihat inbox email mu')
return redirect('login')
if not user:
messages.error(request,'Password atau Username Salah')
return redirect('login')
login(request, user)
return redirect('profile')
我在这篇文章中使用谷歌代码 在 django 中使用 Google OAuth 进行用户注册
解决方案
推荐阅读
- react-native - 使用本机反应的 GET 请求,将数据填充到
- ag-grid - ag-grid - 使用无限行模型添加行
- r - R:去除一半的置信带
- java - GWT 2.7.0:ListBox 呈现完成事件
- angular - 未呈现子辅助路线
- python - python 3 Discord 我如何将用户 dm 响应发送到特定的服务器通道
- php - 从 TWA 向 WordPress 网站发送 android 应用设备令牌
- react-native - 有效载荷 {"name":"DrawerNavigationRoutes"} 的操作 'REPLACE' 未被任何导航器处理
- c - 为 Lua 5.X 编写一个 lua C 模块
- python - 使用动态变量迭代多个字典: