У меня есть функция в диспетчере, которая активирует учетную запись пользователя с помощью ключа.Когда предоставляется ключ, необходимо выполнить несколько проверок: существует ли ключ?срок действия ключа истек?а затем, если нет, менеджер активирует учетную запись.
def activate(key):
try:
profile = self.get(key=key)
except self.model.DoesNotExist:
return None
if not profile.key_expired():
## Activate user
return user
return None
Проблема, конечно, в том, что возвращается False как для «ключа не существует», так и «для данного ключа истек срок действия».Предоставление False за то и другое не говорит моему мнению, что было проблемой.Я не делаю ошибку 404. Это непрозрачно для пользователя и не помогает.
Каков наилучший / правильный способ django / pythonic для обработки этой информации, чтобы дать более полезную информацию в восходящем направлении?Настраивают ли пользовательские ошибки путь вперед?Должен ли я возвращать значения для анализа вверх по течению (кажется уродливым решением)?Есть ли другой способ?