login_required装饰器未重定向到以下视图

时间:2020-04-14 08:30:31

标签: python django python-3.x

我只想在管理员登录后才呈现指定的模板,所以我使用了login_required装饰器 但是它将重定向到admin而不是呈现和显示指定的模板

@login_required(login_url='/admin/')
def employeesignupview(request):
    return render(request,'todoapp/employeesignup.html')

2 个答案:

答案 0 :(得分:0)

需要登录是指您只希望人们登录才能访问您的页面,但是您要保护的页面是此处的注册页面 令人惊讶。

还有另一件事,login_url将您重定向到您输入“ / admin /”的情况下传递给您的url,这样,如果您未登录,则视图会将您发送到管理页面。

答案 1 :(得分:0)

首次将用户重定向到'/admin/'时,它将使用您的视图(next)的URL创建一个查询参数(employeesignupview)以便能够导航用户成功登录后返回。但是要访问'/admin/' URL,则需要登录用户。由于用户没有登录访问'/admin/'此页面,因此它将重定向到admin登录页面,并覆盖现有的下一个参数。 /admin/值,这就是登录后将用户重定向到/admin/页面的原因。要使其按需工作,只需将login_url参数值替换为此'/admin/login/'

@login_required(login_url='/admin/login/')