全局替换django中login_required的login_url

时间:2014-07-20 07:14:44

标签: python django

我正在使用django 1.6。

现在我使用@login_reqired()装饰器来查看视图功能。

但我的login_url不是默认值,所以现在我必须手动传递该参数,如下所示:

@login_required(login_url=reverse('erp:index:login'))
def index(request, *args, **kwargs):
    return render(request, 'erp/index/index.html', kwargs)

有没有办法全局替换它,以便我只能使用@login_required重定向到我正确的登录视图?

1 个答案:

答案 0 :(得分:5)

当然,只需按照the docs

中的说明将其放入您的设置中
  

如果用户未登录,请重定向到settings.LOGIN_URL,在查询字符串中传递当前绝对路径。

     

settings.LOGIN_URL还接受视图函数名称和命名的URL模式。这使您可以在URLconf中自由重新映射登录视图,而无需更新设置。

因此,请将您的LOGIN_URL设置为您想要的URL或视图名称:

LOGIN_URL = 'erp:index:login'