Как я могу перенаправить на одну и ту же страницу для определенных маршрутов в Django?

введите описание изображения здесь

Я хотел бы ограничить страницу регистрации после того, как пользователь вошел в систему, так, чтобы если пользователь вошел в систему, то вернуться на ту же страницу

Я не совсем понимаю ваш вопрос. Но вы хотите, чтобы новый пользователь зарегистрировался и после входа в систему вернулся на страницу регистрации или на главную страницу?

Если вы хотите, чтобы вошедший в систему пользователь переходил на домашнюю страницу при возвращении без необходимости входа или регистрации, вы можете использовать redirect()

Ваш views.py :

from django.shortcuts import render, redirect
def registerPage(request):
form = CustomUserCreationForm()
if request.method == 'POST':
    form = CustomUserCreationForm(request.POST)
    if form.is_valid():
        user = form.save(commit=False)
        user.save()
        messages.success(request, 'Account successfuly created!')

        user = authenticate(request, username=user.username, password=request.POST['password1'])

        if user is not None:
            login(request, user)

        next_url = request.GET.get('next')
        if next_url == '' or next_url == None:
            next_url = 'home'
        return redirect(next_url)
    else:
        messages.error(request, 'An error has occured with registration')
context = {'form': form}
return render(request, 'register.html', context)

Попробуйте следующее:

from django.shortcuts import render, redirect
def signup_view(request):
    if request.user.is_authenticated:
        return redirect("home")
    else:
        return render("signup_page")

Другим простым способом будет просто изменить кнопку, которая перенаправляет на страницу регистрации, на что-то вроде "profile" и перенаправить на страницу профиля: Изменить текстовую кнопку входа на выход и наоборот

Вернуться на верх