@vfvnvsyevsky

Как проверить наличие существования юзернейма в Django?

Сделал ручную проверку из бд:
if request.POST:
		username = request.POST.get('username', '')
		try:
			User.objects.get(username=username)
			args['alert'] = 'Есть'
		except User.DoesNotExist:
			args['alert'] = 'Нет'

но что то подсказывает что есть более элегантный способ
  • Вопрос задан
  • 6724 просмотра
Пригласить эксперта
Ответы на вопрос 2
dizballanze
@dizballanze
Software developer at Yandex
Как-то так можно:
if User.objects.filter(username=username).exists():
    # OK
else:
    # Not OK


Но ваш способ тоже норм.
Ответ написан
Комментировать
@leclecovich
В большинстве случаев нет смысла передавать имя пользователя в теле запроса. Если Вы используете джанговскую систему аутентификации, то Вы можете забирать инстанс юзера из реквеста : request.user
Если нужно сделать вьюху или метод вьюхи (например post) недоступным для неавторизированного пользователя, используйте @login_required https://docs.djangoproject.com/en/1.7/topics/auth/...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы