Django 1.10+
Bir yöntem değil , bir özellik kullanın :
if request.user.is_authenticated: # <- no parentheses any more!
# do something if the user is authenticated
Aynı adı taşıyan yöntemin kullanımı Django 2.0'da kullanımdan kaldırılmıştır ve artık Django belgelerinde belirtilmemiştir.
Django 1.10 ve 1.11 için, özelliğin değerinin
CallableBool
bir boolean değil, bazı garip hatalara neden olabileceğini unutmayın. Örneğin, JSON döndüren bir görünümüm vardı
return HttpResponse(json.dumps({
"is_authenticated": request.user.is_authenticated()
}), content_type='application/json')
mülk güncellendikten sonra request.user.is_authenticated
istisna atıyordu TypeError: Object of type 'CallableBool' is not JSON serializable
. Çözüm, serileştirilirken CallableBool nesnesini düzgün işleyebilen JsonResponse'yi kullanmaktı:
return JsonResponse({
"is_authenticated": request.user.is_authenticated
})