在URL中正确使用'next'参数,Django



Python/Django新手。
我使用装饰器@login_required(login_url='/login/')到3个不同的视图。我有多个这样的视图(认为网站提供的服务),只有当你登录才能访问。

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

在您的登录视图中,只需这样做:

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)

最新更新