Skip to content

Pet-проект по ведению блога, созданию постов и комментариев.

License

Notifications You must be signed in to change notification settings

smaspb17/my_blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My blog

ОПИСАНИЕ:

My blog - это учебный Pet-проект по ведению блога, созданию постов и комментариев, в рамках изучения чистого Django. В проекте реализован следующий функционал:

  • модели, представления, пути и шаблоны постов и комментариев
  • система тегирования django-taggit
  • рекомендации схожих постов по тегам (сложный QuerySet запрос)
  • кастомный менеджер модели published
  • кастомные шаблонные теги и фильтр (markdown)
  • пагинация списка постов в функции и классе представлении
  • отправка постов по электронной почте через smtp-сервер Google
  • карта сайта и новостная RSS-лента
  • полнотекстовый поисковый механизм PostgreSQL (классы SearchVector, SearchQuery, SearchRank, TrigramSimilarity)

СТЕК ТЕХНОЛОГИЙ: Python 3.12, Django 4.2.7, Postgresql 15

ЛОКАЛЬНАЯ УСТАНОВКА (для Windows):

  1. Клонируй проект и перейди в него:
git clone git@github.com:smaspb17/my_blog.git
сd my_blog
  1. Создай виртуальное окружение для проекта. Это позволит изолировать проект от системных зависимостей и установленных библиотек:
python -m venv venv
  1. Активируй виртуальное окружение командой:
venv/Scripts/activate
  1. Установи необходимые зависимости:
pip install -r requirements.txt
  1. При необходимости обнови пакетный менеджер pip:
python.exe -m pip install --upgrade pip
  1. Создай пользователя и базу данных используя оболочку psql:
psql -U postgres
CREATE USER blog WITH PASSWORD 'your_password';
CREATE DATABASE blog OWNER blog ENCODING 'UTF8';
  1. Создай файл .env (в контейнере проекта), а также приложение в любом smtp-сервисе, например в Google (https://myaccount.google.com), и заполни его переменными, указанными в файле example.env.

  2. Перейди в пакет проекта (my_blog/my_blog, там где находится файл manage.py) и выполни миграции:

cd my_blog/
python manage.py makemigrations
python manage.py migrate
  1. Создай суперпользователя:
python manage.py createsuperuser
  1. Запусти проект на локальном сервере:
python manage.py runserver
  1. Перейди по ссылке в браузере:
http://127.0.0.1:8000/blog/

Теперь ты можешь использовать проект на своём компьютере. Если ты хочешь остановить проект, нажми Ctrl+C в терминале, а затем деактивируй виртуальное окружение командой:

deactivate

АВТОР: Шайбаков Марат

ЛИЦЕНЗИЯ: Apache License 2.0

КОНТАКТЫ: smaspb17@yandex.ru

About

Pet-проект по ведению блога, созданию постов и комментариев.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published