Git Product home page Git Product logo

blog's Introduction

Веб-сайт для публикации постов

Особенности

  • Кастомные страницы для ошибок: Приложение включает кастомные страницы для ошибок 403 CSRF, 404 и 500, которые позволяют пользователю получить понятное и стилизованное сообщение об ошибке.
  • Работа с пользователями: Проект подключает пользователей через модуль django.contrib.auth, позволяя пользователям создавать учетные записи, аутентифицироваться и авторизоваться на сайте. Имеется страница для регистрации новых пользователей и страница профиля, отображающая информацию о пользователе, его публикации, а также ссылки на редактирование профиля и изменение пароля.
  • Пагинация: Для удобства навигации по сайту, включена пагинация, которая выводит не более 10 публикаций на главной странице, странице пользователя и странице категории.
  • Изображения к постам: Приложение позволяет пользователям прикреплять изображения к своим публикациям. Изображения отображаются на главной странице, странице пользователя, странице категории и отдельной странице публикации.
  • Добавление и редактирование публикаций: Зарегистрированные пользователи могут самостоятельно публиковать посты. Создана страница для добавления новых публикаций, доступная только авторизованным пользователям. Администратор сайта может создавать новые категории и местоположения через панель администратора. Также пользователи могут редактировать свои публикации.
  • Комментарии к публикациям: Реализована система комментирования записей. На странице поста выводится форма для отправки комментария, а также список комментариев, отсортированных по времени публикации. Только авторизованные пользователи могут комментировать публикации. Авторы комментариев имеют возможность редактировать свои комментарии.
  • Удаление публикаций и комментариев: Авторизованные пользователи имеют возможность удалять собственные публикации и комментарии. Перед удалением материала открывается подтверждающая страница, где пользователь может подтвердить удаление.
  • Новые статичные страницы: Обновлен механизм создания и изменения статичных страниц с использованием Class-Based Views (CBV). Адреса уже существующих статичных страниц не изменились.
  • Отправка электронной почты: Для демонстрации функциональности отправки электронной почты, проект подключает файловый бэкенд. Все "отправленные" письма сохраняются в директории проекта sent_emails/.

Установка

Прежде чем начать, убедитесь, что ваше окружение поддерживает Python 3 и pip.

  1. Склонируйте репозиторий на свой локальный компьютер.
git clone <url-репозитория>
  1. Войдите в директорию проекта.
cd <папка-проекта>
  1. Установите зависимости.
pip install -r requirements.txt
  1. Проведите миграции базы данных.
python manage.py migrate
  1. Запустите сервер.
python manage.py runserver

Приложение будет доступно по адресу http://localhost:8000.

Использование

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

  • Зарегистрируйте новую учетную запись или войдите на сайт, используя существующие учетные данные.
  • На главной странице вы увидите публикации всех пользователей, отсортированные по дате добавления.
  • В профиле пользователя отображается информация о пользователе, его публикации и ссылки на редактирование профиля и изменение пароля. Эта страница доступна только залогиненному пользователю.
  • Через страницу создания нового поста, вы можете добавить свою публикацию. Укажите заголовок, описание, категорию, местоположение и загрузите изображение.
  • Вы можете редактировать и удалять свои публикации или комментарии на соответствующих страницах.
  • Все "отправленные" письма будут сохраняться в директории sent_emails/.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.