Home > Mobile >  How to redirecting to a page after registering a user in - Django
How to redirecting to a page after registering a user in - Django

Time:11-20

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')
  • Related