Метод get_short_name
Метод get_short_name применяется к объекту модели User
и возвращает короткое имя пользователя. По умолчанию метод
возвращает значение поля first_name, но может быть переопределен
в пользовательских моделях для возврата других данных. Метод
не принимает аргументов и возвращает строку.
Синтаксис
user.get_short_name()
Пример
Давайте получим короткое имя пользователя из стандартной модели User:
from django.contrib.auth import get_user_model
User = get_user_model()
user = User.objects.get(username="john_doe")
short_name = user.get_short_name()
print(short_name)
Результат выполнения кода:
"John"
Пример
Использование метода в шаблонах Django для отображения имени пользователя:
{% if user.is_authenticated %}
Добро пожаловать, {{ user.get_short_name }}!
{% endif %}
Пример
Переопределение метода в пользовательской модели для возврата другой информации:
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
nickname = models.CharField(max_length=50)
def get_short_name(self):
return self.nickname or self.username
Теперь метод будет возвращать никнейм пользователя или имя пользователя:
user = CustomUser.objects.get(username="john_doe")
user.nickname = "JD"
user.save()
print(user.get_short_name())
Результат выполнения кода:
"JD"
Смотрите также
-
метод
get_full_name,
который возвращает полное имя пользователя -
метод
get_username,
который возвращает логин пользователя -
класс
User,
основная модель для работы с пользователями -
метод
email_user,
который отправляет письмо пользователю