Skip to content
/ psdia Public

Веб-приложение личного дневника. Django

Notifications You must be signed in to change notification settings

Aladser/psdia

Repository files navigation

Личный дневник

Веб-приложение для ведения личного дневника.

Приложение позволяет пользователям создавать, редактировать и удалять записи в дневнике, просматривать свои записи в удобном интерфейсе. Все представления в CBV-стиле.

Настройки проекта

  • Создать файл .env в корне проекта с настройками, аналогичными .env.example.
  • docker-compose up --build - пересобрать контейнеры
  • docker-compose up - запуск контейнеров

Функционал сайта

  • Регистрация и аутентификация пользователей (приложение authen):

    • Пользователи должны иметь возможность зарегистрироваться, войти в систему и выйти из неё.

    • Модель User - пользователь: фамилия, имя, почта, телефон, аватар

    • Представления:

      • UserLoginView - авторизация. Форма AuthForm

      UserLoginView

      • LogoutView - выход из системы. Стандаратное представление.
      • RegisterView - регистрация. Форма RegisterForm

      RegisterView

      • ProfileView - профиль. Форма ProfileForm

      ProfileView

      • CustomPasswordResetView - сброс пароля и отправка ссылки на сброс пароля на почту. Форма CustomPasswordResetForm

      CustomPasswordResetView

      • CustomUserPasswordResetConfirmView - ввод нового пароля. Форма CustomSetPasswordForm

      CustomUserPasswordResetConfirmView

      • CustomPasswordResetCompleteView - проверка ввода нового пароля
      • VerificateEmailView - подтверждение почты
      • RegisterCompleteView - завершение регистрации
    • Используется для всех шаблонов представлений базовый шаблон basic_auth

    • Письмо подтверждения регистрации отправляется через отложенную функцию send_email()

  • Создание, редактирование и удаление записей в дневнике (приложение diary):

    • Авторизованные пользователи могут добавлять новые записи в дневник, редактировать существующие записи (только свои) и удалять ненужные записи.

    • Модель Record - запись: автор, содержание(заголовок), дата создания

    • Представления

      • RecordCreateView - создание записи

      RecordCreateView

      • RecordUpdateView - обновление записи

      RecordUpdateView

      • RecordDeleteView - удаление записи

      RecordDeleteView

  • Просмотр записей:

    • Пользователи могут просматривать список всех своих записей.

      RecordListView - список записей пользователей.

      RecordListView

    • Пользователи могут просматривать отдельные записи в подробном виде.

      RecordDetailView - детали записи

      RecordDetailView

    За права пользователей на просмотр записей отвечают миксины

    • libs.object_permission_mixin.ListObjectPermissionMixin - список записей. Если пользователь не авторизован, показывается стандартная главная страница.
    • libs.object_permission_mixin.DetailObjectPermissionMixin - детали записи. Проверяютс права на просмотр страницы записи.
    • libs.object_permission_mixin.UpdateDeleteObjectPermissionMixin - обновление или удаление записи. Проверка прав на обновление или удаление записи. Permission_Denied
  • Поиск по записям:

    • Возможность поиска записей по заголовку или содержимому в интерфейсе сайта.

    RecordListView.get_queryset() - если введется поиск по записям, get_queryset() выдает записи согласно GET-параметрам элементов поиска. Поиск введется по дате создания И/ИЛИ фразе RecordListView_phrase_and_date RecordListView_date RecordListView_phrase

About

Веб-приложение личного дневника. Django

Topics

Resources

Stars

Watchers

Forks