After a user successfully registers an account, the webpage redirected to some other locations... I want it to redirect to a specific path, 'products/index' (products is myapp) after successful registration the user logged in automatically. I am here using function based view..
views.py
def register(request):
if request.method == 'GET':
form = RegisterForm()
context = {'form': form}
return render(request, 'register.html', context)
if request.method == 'POST':
form = RegisterForm(request.POST)
if form.is_valid():
form.save()
user = form.cleaned_data.get('username')
messages.success(request, 'Account was created for ' user)
return redirect('index.html')
else:
print('Form is not valid')
messages.error(request, 'Error Processing Your Request')
context = {'form': form}
return render(request, 'register.html', context)
return render(request, 'register.html', {})
@login_required
def index(request):
products = product.objects.all()
return render (request,'index.html',{'products':products})
CodePudding user response:
def register(request):
if request.method == 'GET':
form = RegisterForm()
context = {'form': form}
return render(request, 'register.html', context)
if request.method == 'POST':
form = RegisterForm(request.POST)
if form.is_valid():
form.save()
user = form.cleaned_data.get('username')
messages.success(request, 'Account was created for ' user)
return redirect('index')
else:
print('Form is not valid')
messages.error(request, 'Error Processing Your Request')
context = {'form': form}
return render(request, 'register.html', context)
CodePudding user response:
You can do something like this to redirect user
if form.is_valid():
form.save()
user = form.cleaned_data.get('username')
messages.success(request, 'Account was created for ' user)
return redirect('products:index')
