Django 如何使用 django.contrib.auth 添加注销成功消息?

sur*_*190 3 python django

我没有使用 all-auth

我正在使用标准身份验证系统和 .url 提供的django.contrib.auth.

我还确保在注销时用户会自动重定向到登录页面

LOGOUT_REDIRECT_URL = "login"
Run Code Online (Sandbox Code Playgroud)

我想添加一条消息,以便用户知道他们已被注销,例如:

from django.contrib import messages

messages.add_message(request, messages.INFO, 'You have been logged out.')
Run Code Online (Sandbox Code Playgroud)

我是否能够在不让自己的观点注销的情况下实现这一目标。我可以用signals吗?

Sat*_*dra 5

您可以使用user_logged_out信号

from django.contrib.auth.signals import user_logged_out
from django.contrib import messages

def show_message(sender, user, request, **kwargs):
    # whatever...
    messages.info(request, 'You have been logged out.')

user_logged_out.connect(show_message)
Run Code Online (Sandbox Code Playgroud)