Django — user_passes_test auth decorator — объект ‘bool’ не вызывается

#python #django #django-authentication

#python #django #django-аутентификация

Вопрос:

Привет, я пытаюсь использовать декоратор user_passes_test, упомянутый здесь. Но я продолжаю получать эту ошибку:

 'bool' object is not callable
  

Мое использование:

 @user_passes_test(lambda u: u.is_active() and u.is_staff())
def fulfillment(request):
    ...
  

Ответ №1:

is_staff — это поле пользователя, а не метод. Избавиться от ()

Ответ №2:

другая ситуация, если вы пишете код, подобный этому :

 newFile = open('pickled','w')
pickle.dump(newText, newFile)
newFile.closed()
  

как вы видите, newFile.closed() вызовет ту же ошибку, 'bool' object is not callable

это вызвано: newFile.closed() является логическим значением … и оно присваивается переменной, или в уравнении, или чему-то еще…