正确使用URL,Django中的“下一个”参数

时间:2015-06-07 07:27:26

标签: python django python-2.7 redirect django-models

Python / Django新手在这里。
我正在使用装饰器@login_required(login_url='/login/')来查看3个不同的视图。我有多个这样的观点(认为网站提供的服务)只有在您登录时才能访问。

当我点击服务按钮时,形成的URL是这样的:domain/login/?next=/<service_name>/ 如何使用?next=<service_name>重定向回最初调用的服务?目前我被送回主页,因为这是我的登录视图。

1 个答案:

答案 0 :(得分:1)

在登录视图中,只需执行以下操作:

def login(request):
    """
    Check for login and store the result in login_successful
    """
    path = request.GET.get("next")
    if login_successful:
        if path:
            return HttpResponseRedirect(path)
        else:
            return HttpResponseRedirect(your_earlier_path)