Изменение коллекции, для которой вы выполняете итерацию, сложно , и часто недопустимо.Это может легко привести к проблемам, поскольку итератор обычно реализуется в предположении, что коллекция не изменится.
Однако вам не нужно перебирать ключи здесь.Вы можете использовать метод clear()
[Django-doc] :
def logout(request):
<b>request.session.clear()</b>
return redirect('login')
Однако этого недостаточно.Django уже сделал функцию выхода пользователя из системы, которая очистит сеанс, удалит его и т. Д. logout(..)
[Django-doc] .Таким образом, вы можете реализовать это как:
from django.contrib.auth import logout as <b>auth_logout</b>
def logout(request):
<b>auth_logout(request)</b>
return redirect('login')