В этом разделе мы рассмотрим создание модели профиля для пользователя, не меняя стандартную систему аутентификации Django. Мы создадим модель, а также добавим сигналы Django для обработки профиля.
Функциональность будет похожа, как и в прошлых модулях по блогу, но тут мы добавим возможность просмотра профилей любыми пользователями.
Первым делом создадим новое приложение:
python manage.py startapp accounts
И по аналогии, как и при создании приложения blog, переместим папку accounts в папку apps.
Обращаю внимание, PyCharm автоматически создал пустой файл __init__.py в папке apps, для тех кто работает в других IDE, в случае необходимости создайте данный файл.
В результате мы получаем следующую файловую структуру:
Перейдем в файл apps/accounts/apps.py и отредактируем его, добавив, что он будет использоваться именно внутри папки apps, а также добавим название на русском языке с помощью параметра verbose_name:
from django.apps import AppConfig
class AccountsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.accounts'
verbose_name = 'Аккаунты'
PyCharm нам автоматически изменил путь до нашего приложения, добавив apps в имени нашего приложения. Для тех кто работает в других IDE вам нужно отредактировать переменную name.
Далее нам необходимо подключить наше приложение в settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'apps.blog.apps.BlogConfig',
'mptt',
'django_mptt_admin',
'debug_toolbar',
'apps.accounts'
]
Если мы вспомним как подключали приложение блога из раздела 10.1 данного курса, это было путем добавления следующей строки:
'apps.blog.apps.BlogConfig',
Как видим в нашем случае мы просто добавили название нашего приложения, и также добавили в эту строчку имя нашей папки apps.
В следующем шаге мы приступим к написанию наших моделей профилей.