Как показать страницу просмотра пароля перед фактической страницей просмотра в django?

Я создал веб-приложение дневника на Django. Оно хранит все дневники в зашифрованном виде. Я хочу запрашивать пароль, когда пользователь пытается просмотреть, обновить или удалить свой дневник. Это не означает, что требуется вход в систему. Я хочу запрашивать пароль пользователя, даже если он вошел в систему. Я пытался создать декоратор для этого, но не смог его завершить. У меня есть два представления:

Этот вид проверяет правильность пароля:

def check_master_password_view(request):
    page = 'check'
    profile = request.user.profile
    if request.method == "POST":
        checked = check_master_password(request.POST['password'], profile.master_password)
        if checked:
            return checked # OR Redirect another page
        else:
            messages.error(request, 'You entered wrong password !')
    context = {
        'page':page,
    }
    return render(request, 'users/create_or_check_master_password.html', context)

Другой вид - детальный вид:

def detail_diary_view(request, pk):
    profile = request.user.profile
    diary = profile.diary_set.get(id=pk)
    diary.diary = decrypt_diary(request, diary.diary)
    context = {
        'diary': diary
    }
    return render(request, 'diary/detail_diary.html', context)

Когда пользователь нажимает на ссылку для просмотра дневника, я хочу показать представление check_master_password. Если пользователь вводит правильный пароль, я хочу перенаправить его на реальную страницу (просмотр, обновление, удаление страниц). Как я могу это сделать?

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