i'm writing the logic in django where a newly created user would automatically get the free membership when they hit the signup button and i have tried diffrent solutions to fix this
views.py
def register(request):
reviews = Review.objects.filter(status='published')
info = Announcements.objects.all()
categories = Category.objects.all()
if request.method == "POST":
form = UserRegisterForm(request.POST)
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
obj = request.user
get_membership = Membership.objects.get(membership_type='Free')
# error is showing "instance" is not access using visual studio code
instance = UserMembership.objects.create(user=obj, membership=get_membership)
messages.success(request, f'Account Successfully created for {username}! You can Login In Now')
return redirect('userauths:login')
elif request.user.is_authenticated:
return redirect('elements:home')
else:
form = UserRegisterForm()
context = {
'reviews': reviews,
'form': form,
'info': info,
'categories': categories
}
return render(request, 'userauths/register.html', context)
indentation error here:
elif request.user.is_authenticated:
return redirect('elements:home')
else:
form = UserRegisterForm()
You only need to tab once. Not twice.
elif request.user.is_authenticated:
return redirect('elements:home')
else:
form = UserRegisterForm()