Django не перенаправляет на «Далее» после пользовательского входа в систему, когда требуется вход в систему - PullRequest
0 голосов
/ 13 марта 2020

Когда я использую вид входа в систему, предоставленный Django, он перенаправляет на нужную страницу после входа в систему. Мой код выглядит следующим образом:

urls.py

from django.urls import path
from admn import views as views
from django.contrib.auth import views as log_views
urlpatterns = [
        path('login/', log_views.LoginView.as_view(template_name='login.html'), name='login'),
        path('profile/', views.profile, name='profile'),
    ]

views.py

from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
@login_required(login_url='/login/')
def  profile(request):
    return render (request, 'profile.html')

Однако, когда я использую настроенный логин, он входит в систему, но не перенаправляет начальную страницу. Мой код выглядит следующим образом:

urls.py

from admn import views as views
from django.urls import path
urlpatterns = [
        path('login/', views.login, name='administration-login'),
        path('profile/', views.profile, name='profile'),
    ]

views.py

from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
from myforms import UserLoginForm
from django.contrib import messages

def login(request):
    if request.method == 'POST':
        form = UserLoginForm(request.POST)
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)
        if user is not None:
            dj_login(request, user)
            messages.success(request, f'You are logged in {username}!')
        else:
            messages.error(request, f'Not logged in')
    else: 
        form = UserLoginForm()
    return render (request, 'login.html',{'form':form})

@login_required(login_url='/login/')
def  profile(request):
    return render (request, 'profile.html')

1 Ответ

0 голосов
/ 13 марта 2020

Вы установили

LOGIN_REDIRECT_URL = профиль

в файле setting.py?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...