Django信号重定向

Ska*_*ar3 2 django redirect python-3.x

当用户登录时,我会检查它是否属于某个特定的组,如果这是真的,我会重定向到特定的页面,这是我的代码apps.py:

def OperatorRedirect(sender, user, request, **kwargs):
    from struttura_employee.models import EmployeeUser, EmployeeGroup

    u = get_object_or_404(EmployeeUser,username=user.username)
    groups = u.get_groups()
    g = get_object_or_404(EmployeeGroup,long_name="Operatore")
    if g in groups:
        print("sei un operatore")
        return HttpResponseRedirect(reverse('qrs_machine_panel:asset_choice', args=[]))

class QrsofmanMachinePanelConfig(AppConfig):
    name = 'qrsofman_machine_panel'
    print("ciao")
    user_logged_in.connect(OperatorRedirect)
Run Code Online (Sandbox Code Playgroud)

问题是HttpResponseRedirect被忽略了什么想法?

Dan*_*man 7

这不是你可以在信号中做的事情.当特定操作发生时,这些用于更新数据库行或发送电子邮件.它们不会以任何方式影响响应,因为它由视图管理.

您的重定向代码需要移入登录视图本身; 你打电话后再做检查auth.login().