Skip to content

Данный проект представляет собой веб-приложение на Django, разработанное поэтапно. В нём реализованы различные функции и техники с использованием Django, Django REST Framework, PostgreSQL и других технологий

Notifications You must be signed in to change notification settings

SergeiMischenko/django_site_blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект блога на Django

Данный проект представляет собой веб-приложение на Django, разработанное поэтапно. В нём реализованы различные функции и техники с использованием Django, Django REST Framework, PostgreSQL и других технологий. Ниже представлены ключевые этапы разработки и реализованные возможности.

Содержание

  1. Основы блога
  2. Теги, поиск и SEO
  3. Пользователи и профили
  4. API для блога

Основы блога

Сначала я настроил базовые вещи для блога:

  • Сделал модели данных (схемы базы данных).
  • Настроил страницы для постов, шаблоны и URL-адреса.
  • Реализовал пагинацию, чтобы можно было удобно листать посты.
  • Добавил формы, чтобы пользователи могли рекомендовать посты по почте и оставлять комментарии.

Теги, поиск и SEO

Дальше я расширил функционал:

  • Подключил систему тегов, чтобы к каждому посту можно было добавлять метки.
  • Реализовал рекомендованные посты с помощью запросов QuerySet.
  • Настроил шаблонные теги и фильтры, чтобы удобнее выводить данные.
  • Добавил карту сайта для поисковых систем.
  • Сделал поиск по сайту, используя полнотекстовый поиск PostgreSQL.

Пользователи и профили

Чтобы пользователи могли регистрироваться и настраивать свои профили, я:

  • Настроил регистрацию, авторизацию, восстановление пароля и сессии.
  • Добавил возможность загрузки аватаров и заполнения информации "О себе".
  • Подключил авторизацию через соцсети (Google, GitHub) с помощью OAuth 2.0.
  • Немного освежил внешний вид блога, используя Bootstrap 5.

API для блога

Последним шагом было создание API с использованием Django REST Framework:

  • Реализовал сериализаторы и представления для работы с данными через API.
  • Добавил аутентификацию и разрешения для ограничения доступа к данным.
  • Сделал фильтрацию, поиск и пагинацию для API.
  • Настроил документацию и схему API с помощью библиотеки drf-spectacular.

Технологии, которые я использовал:

  • Django
  • Django REST Framework
  • PostgreSQL
  • Bootstrap 5
  • OAuth 2.0 (Google, GitHub)
  • drf-spectacular
  • django-taggit
  • django-filter

Установка и запуск

  1. Клонируйте репозиторий:

    git clone https://github.com/your-username/django_site_blog.git
  2. Перейдите в папку проекта:

    cd django_site_blog
  3. Установите виртуальное окружение и активируйте его:

    python -m venv env
    source env/bin/activate   # Для Linux и macOS
    env\Scripts\activate      # Для Windows
  4. Установите зависимости:

    pip install -r requirements.txt
  5. Откройте файл .env и заполнить его своими данными

    SECRET_KEY = 'django-insecure-xxxxxxxxx'
    
    GITHUB_KEY = 'xxxxxxxxx'
    GITHUB_SECRET = 'xxxxxxxxxxxxxxxxxx'
    
    GOOGLE_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'
    GOOGLE_SECRET = 'xxxxxxxxxxxxxxxxxx'
  6. Выполните миграции:

    python manage.py migrate
  7. Запустите сервер разработки:

    python manage.py runserver
  8. Доступ к приложению:

    После завершения всех вышеуказанных шагов, приложение будет доступно по адресу http://127.0.0.1:8000.

About

Данный проект представляет собой веб-приложение на Django, разработанное поэтапно. В нём реализованы различные функции и техники с использованием Django, Django REST Framework, PostgreSQL и других технологий

Topics

Resources

Stars

Watchers

Forks