Веб-приложение для ведения личного дневника.
Приложение позволяет пользователям создавать, редактировать и удалять записи в дневнике, просматривать свои записи в удобном интерфейсе. Все представления в CBV-стиле.
- Создать файл .env в корне проекта с настройками, аналогичными .env.example.
docker-compose up --build
- пересобрать контейнерыdocker-compose up
- запуск контейнеров
-
Регистрация и аутентификация пользователей (приложение authen):
-
Пользователи должны иметь возможность зарегистрироваться, войти в систему и выйти из неё.
-
Модель
User
- пользователь: фамилия, имя, почта, телефон, аватар -
Представления:
UserLoginView
- авторизация. ФормаAuthForm
LogoutView
- выход из системы. Стандаратное представление.RegisterView
- регистрация. ФормаRegisterForm
ProfileView
- профиль. ФормаProfileForm
CustomPasswordResetView
- сброс пароля и отправка ссылки на сброс пароля на почту. ФормаCustomPasswordResetForm
CustomUserPasswordResetConfirmView
- ввод нового пароля. ФормаCustomSetPasswordForm
CustomPasswordResetCompleteView
- проверка ввода нового пароляVerificateEmailView
- подтверждение почтыRegisterCompleteView
- завершение регистрации
-
Используется для всех шаблонов представлений базовый шаблон
basic_auth
-
Письмо подтверждения регистрации отправляется через отложенную функцию
send_email()
-
-
Создание, редактирование и удаление записей в дневнике (приложение diary):
-
Авторизованные пользователи могут добавлять новые записи в дневник, редактировать существующие записи (только свои) и удалять ненужные записи.
-
Модель
Record
- запись: автор, содержание(заголовок), дата создания -
Представления
RecordCreateView
- создание записи
RecordUpdateView
- обновление записи
RecordDeleteView
- удаление записи
-
-
Просмотр записей:
-
Пользователи могут просматривать список всех своих записей.
RecordListView
- список записей пользователей. -
Пользователи могут просматривать отдельные записи в подробном виде.
RecordDetailView
- детали записи
За права пользователей на просмотр записей отвечают миксины
libs.object_permission_mixin.ListObjectPermissionMixin
- список записей. Если пользователь не авторизован, показывается стандартная главная страница.libs.object_permission_mixin.DetailObjectPermissionMixin
- детали записи. Проверяютс права на просмотр страницы записи.libs.object_permission_mixin.UpdateDeleteObjectPermissionMixin
- обновление или удаление записи. Проверка прав на обновление или удаление записи.
-
-
Поиск по записям:
- Возможность поиска записей по заголовку или содержимому в интерфейсе сайта.
RecordListView.get_queryset()
- если введется поиск по записям, get_queryset() выдает записи согласно GET-параметрам элементов поиска. Поиск введется по дате создания И/ИЛИ фразе