Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Acessando a página de membros sem fazer login

Olá,

Esse tópico já foi discutido antes, porém o erro ainda persiste para mim. Consigo acessar a página de membros sem fazer o login.

Veja os meus códigos.

1° - views.py

from django.shortcuts import render
from django.contrib.auth.decorators import login_required


def index(request):
    return render(request, 'index.html')


@login_required
def members(request):
    return render(request, 'members.html')

2° - urls.py

from django.urls import path
from tech.views import index, members

urlpatterns = [
    path('', index, name='index'),
    path('members/', members, name='members'),
]

3° - settings.pys

"""
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    "allauth.account.middleware.AccountMiddleware",
]

LOGIN_REDIRECT_URL = '/members/'

link do github: https://github.com/Jheimys/Alura_estudos/tree/master/Django/4-autenticacao/tech

3 respostas
solução!

Se você estiver usando uma URL diferente para a página de login, você precisa especificar isso no seu settings.py:

LOGIN_URL = '/sua_url_de_login/'

Verifique se o usuário está realmente autenticado. Certifique-se de que o usuário está realmente autenticado. Você pode verificar isso imprimindo o usuário na view:

@login_required
def members(request):
    print(request.user)  # Isso deve imprimir o usuário autenticado
    return render(request, 'members.html')

Espero ter ajudado, qualquer duvida so chamar.

Boas, esse print(request.user) # Isso deve imprimir o usuário autenticado, mostrou que já estava logado por isso conseguia acessar a página de membros.

Fico feliz em ter ajudado você, qualquer outra dúvida só mandar no fórum.