关于重定向的Django问题

时间:2011-04-21 20:41:26

标签: python django django-authentication

我在/页面上显示了一个用于注册新用户的表单。 当新用户注册时,它将重定向到/ dashboard。

但是当经过身份验证的用户转到/时,它应该会看到/ dashboard页面。 问题是:我应该在home()视图中输入这样的内容:

if request.user.is_authenticated():
    return HttpResponseRedirect("/dashboard")

或者这是一个丑陋的方法,我应该根据用户的身份验证状态从我的家()返回不同的模板吗?在这种情况下,如何自定义我的URL以显示/仪表板而不是/?

2 个答案:

答案 0 :(得分:1)

重定向方法绝对没问题。不确定你的意思是丑陋的。重定向也应该处理您的URL问题。

答案 1 :(得分:0)

如果我理解正确,您有一个“仪表板”,仅供经过身份验证的用户使用,因此如果未登录用户尝试输入,则应将其重定向到注册表单。正确?

您是否考虑过使用中间件?此类中间件可以检查用户是否已登录,如果没有 - 返回注册表单视图,否则继续处理请求,并返回主视图。阅读有关process_request和process_view here的信息。