我在/页面上显示了一个用于注册新用户的表单。 当新用户注册时,它将重定向到/ dashboard。
但是当经过身份验证的用户转到/时,它应该会看到/ dashboard页面。 问题是:我应该在home()视图中输入这样的内容:
if request.user.is_authenticated():
return HttpResponseRedirect("/dashboard")
或者这是一个丑陋的方法,我应该根据用户的身份验证状态从我的家()返回不同的模板吗?在这种情况下,如何自定义我的URL以显示/仪表板而不是/?
答案 0 :(得分:1)
重定向方法绝对没问题。不确定你的意思是丑陋的。重定向也应该处理您的URL问题。
答案 1 :(得分:0)
如果我理解正确,您有一个“仪表板”,仅供经过身份验证的用户使用,因此如果未登录用户尝试输入,则应将其重定向到注册表单。正确?
您是否考虑过使用中间件?此类中间件可以检查用户是否已登录,如果没有 - 返回注册表单视图,否则继续处理请求,并返回主视图。阅读有关process_request和process_view here的信息。