默认情况下,装饰器@permission_required($SOME_PERMISSION)
检查请求用户是否具有请求此视图所需的权限,如果不是,则将其重定向到登录页面或任何其他指定页面。(例如,用户未登录,他被重定向到登录页面。)
这是我的问题,我想将未登录的用户重定向到登录页面,但是可能有一个没有所需权限的登录用户,默认情况下该用户被重定向到登录页面,而且他已经是登录后,他再次被重定向到他要求的页面,这里发生了循环
所以我想要做的是改变这个装饰器的行为(在我的视图函数中编写一个等效的代码,而不是使用@permission_required)来检查用户是否看不到请求的页面,因为他没有登录,或者他是登录但没有权限,然后将其重定向到正确的页面。
任何帮助将不胜感激:)
提前致谢
答案 0 :(得分:3)
只需将login_url
参数传递给permission_required
,例如:
@permission_required($SOME_PERMISSION, login_url='/my/custom/page')
答案 1 :(得分:3)