Вы можете «отключить» его, добавив проверку, которая проверяет, аутентифицирован ли пользователь, и затем перенаправить его куда-то еще, например:
def user_login(request):
if <b>request.user.is_authenticated</b>:
return redirect('home')
if request.method == "POST":
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(request,username=username,password=password)
if user is not None:
login(request,user)
return redirect("home")
else :
messages.error(request,"Bad username or password")
return render(request,"login.html",context={})
Таким образом, оператор if
проверяет,пользователь аутентифицирован (вошел в систему), и если так, то мы возвращаем HTTP-ответ перенаправления на представление (здесь 'home'
).
В версиях Django до django-1.10 ,проверка request.user.is_authenticated()
(поэтому метод должен быть , называемый ), но, поскольку django-1.10 , это свойство.
Но я бы не назвал его(безопасность) проблема.Это также можно рассматривать как функцию, например войти в другую учетную запись.