Как я могу поймать / кроме ошибок регистрации в Django?
Я хочу, чтобы иметь возможность вернуть сообщение пользователю, когда они пытаются зарегистрироваться, но их регистрация не удалась. Я пробовал все следующие методы:
try: user = User.objects.create_user(username, email, password) except User.DoesNotExist print "aaaa" try: user = User.objects.create_user(username, email, password) except IntegrityError print "aaaa"
Конечно, ни одна из вышеперечисленных работ не работает. Как я правильно выбрал исключение?
- Не получать ответ от покупки при создании продукта с помощью API Python
- Генерация модели времени выполнения с использованием django
- Сохранение DataFrame Pandas в модели Django
- Команда cookiecutter не найдена после установки с помощью pip
- Пользовательское поле list_editable в списке изменений admin django, который не соответствует прямому полю модели
Некоторое время назад у меня была такая же проблема, вот мое решение:
try: user = User.objects.get(username=new_username) # ERROR! user already exists! # if you're using a form you could do: # raise forms.ValidationError('Already exists a user with this username!') except User.DoesNotExist: # We're good!, lets create the user user = User.objects.create_user(username, email, password)
Я бы предложил использовать The Messages Framework .
Кроме того, я не могу себе представить, как пользователь бросает DoesNotExist
. Вся идея состоит в том, что пользователь не существует, поэтому, если его бросили, возникают серьезные проблемы.
Имейте в виду также, что бэкэндом по умолчанию для структуры сообщений является хранение сообщений против сеанса, который не будет работать для регистрации (поскольку ни один пользователь не вошел в систему), поэтому я предлагаю заглянуть в один из других бэкэндов.
- Каков наилучший подход к изменению первичных ключей в существующем приложении Django?
- Разделить URL-адрес с регулярным выражением
- 404 Ошибка в «Написание вашего первого приложения Django»
- Как настроить Django для простой разработки и развертывания?
- Перенаправление Django «handle_uncaught_exception»
- Корневой регистратор в dictconfig
- Фильтровать по не-полям в Django
- Django или CodeIgniter для веб-приложения под ключ
- Формат строки в формате Django