def activate(request, uidb64, token):
try:
uid = force_text(urlsafe_base64_decode(uidb64))
user = User.objects.get(pk=uid)
except(TypeError, ValueError, OverflowError, User.DoesNotExist):
user = None
if request.method == 'POST':
user_form = UserCompletionForm(request.POST, instance=user)
profile_form = ProfileCompletionForm(request.POST, instance=user.profile)
if user_form.is_valid() and profile_form.is_valid():
user.is_active = True
user_form.save()
profile_form.save()
login(request, user)
return render(request, 'accounts/activation_completed.html')
else:
messages.error(request, _('Please correct the error below.'))
else:
user_form = UserCompletionForm()
profile_form = ProfileCompletionForm()
if user is not None and account_activation_token.check_token(user, token):
pass
else:
return HttpResponse('Activation link is invalid!')
return render(request, 'accounts/complete_registration.html',
{'user_form': user_form, 'profile_form': profile_form})
评论列表
文章目录