当需要登录时,Django 不会在自定义登录后重定向到"下一步"



当我使用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'),
]

视图.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'),
]

视图.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')

是否设置

LOGIN_REDIRECT_URL=配置文件

设置.py文件中的

最新更新