gpt4 book ai didi

python - Login_redirect_url 不起作用。查看总是重定向到索引

转载 作者:行者123 更新时间:2023-12-04 09:03:30 28 4
gpt4 key购买 nike

这是我在 settings.py 中的登录重定向 url:

LOGIN_REDIRECT_URL='/category/all'
这是我的登录 View :
def login(request):

if request.user.is_authenticated:
return redirect('/')
else:
if request.method == "POST":
email=request.POST['email']
password=request.POST['password']
user=auth.authenticate(email=email,password=password)

if user is not None:
auth.login(request, user)
return redirect('/')
else:
messages.info(request,"Email Password didn't match")
return redirect('login')
else:
return render(request,"login.html")
每当用户登录时,我想将他重定向到类别/所有页面,但它总是重定向到索引(“/”),这可能是因为我正在使用返回重定向(“/”)。即使我已经登录即使 url 像这样,某些 View 也需要:
http://localhost:8000/login/?next=/cart/
它不是将我重定向到购物车,而是重定向索引。请帮助我解决此问题,以便重定向正常工作。

最佳答案

您构建了自己的登录 View ,因此这意味着重定向机制将不起作用,因为 LOGIN_REDIRECT_URL等是 LoginView [Django-doc] 的参数Django 身份验证模块。
您可以简单地在您的 View 中重定向:

def login(request):
if request.user.is_authenticated:
return redirect('/category/all')
else:
if request.method == 'POST':
email=request.POST['email']
password=request.POST['password']
user=auth.authenticate(email=email,password=password)

if user is not None:
auth.login(request, user)
# redirect to a view
return redirect('/category/all')
else:
messages.info(request, "Email Password didn't match")
return redirect('login')
else:
return render(request,'login.html')

关于python - Login_redirect_url 不起作用。查看总是重定向到索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63511158/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com