繁体   English   中英

Django LogoutView不发出user_logged_out信号

[英]Django LogoutView does not emit user_logged_out signal

我有一个应用程序没有收到user_logged_out信号,该信号理论上应该由LogoutView发送。

urls.py:

...
   path('accounts/logout/',
      auth_views.LogoutView.as_view(template_name='registration/logout.html'),
         name='logout'),
...

MYAPP / signals.py

from django.contrib.auth import user_logged_out
from django.dispatch import receiver


@receiver(user_logged_out)
def extra_logout(sender, request, user, **kwargs):
    # does some stuff

MYAPP / apps.py

from django.apps import AppConfig

class MyappConfig(AppConfig):
    name = 'myapp'

    def ready(self):
        import myapp.signals
        return super().ready()

请注意, myapp已加载,其他一切正常。 调用accounts/logout/ ,django会话被破坏了,但是我的接收器从未收到信号。

我究竟做错了什么?

Mac上的Django 2.2.3,Python 3.7.3

只需尝试使用您的代码,缺少的部分可能是myapp文件夹中__init__.py文件中的default_app_config = 'myapp.apps.MyappConfig'行。 请检查一下是否可行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM