Почему Django Messages не работает для выхода из системы, но работает для входа в систему?
Я написал этот код: мой вид:
from django.contrib.auth.views import LoginView, LogoutView
class CustomLogout(LogoutView):
def post(self, request, *args, **kwargs):
messages.success(request, 'Logout was successfully')
return super(CustomLogout, self).get(request, *args, **kwargs)
Это мой url:
urlpatterns = [
...
path('logout/', CustomLogout.as_view(template_name='core/index.html'), name='logout'),
]
и у меня есть это в моем шаблоне:
{% if messages %}
<div class="alert alert-dismissible" role="alert">
{% for message in messages %}
<div class="alert alert-{{ message.tags }}">{{ message }}
</div>
{% endfor %}
</div>
{% endif %}
Я написал что-то подобное для SignUp и это работает хорошо и показывает сообщения, но в этом случае для выхода из системы он не показывает никакого сообщения в шаблоне...
Сообщение генерируется в функции post(). При выходе из системы пользователь действительно отправляет что-либо (например, форму) в представление logout, или просто переходит по ссылке на url logout? Если последнее, возможно, вам нужно поместить сообщение в функцию get().
Имеет смысл использовать функцию post() для входа или регистрации, поскольку вы отправляете форму с именем пользователя, паролем и т.д., но вам не нужно делать это для выхода из системы.