oshkov / blog-django

Блог-сайт для изучения Django и других технологий

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Сайт-блог

Этот сайт был создан с целью изучения Django. Вся верстка была сделана с помощью Bootstrap, на сайте использовался JavaScript, в качестве базы данных испольльзовался PostgreSQL.

В сайте были использованы

  • Python/Django (Динамические ссылки, работа с моделями и формами, Jinja, обработка запросов)
  • JavaScript/jQuery
  • AJAX
  • Bootstrap
  • PostgreSQL

Возможности сайта

  • Добавление постов на отдельной странице, после чего все посты отображаются на главной странице (Посты добавляются в базу данных)
  • Закрепление поста (Реализовано через AJAX, закрепленный пост поднимается на первое место без обнавления страницы и добавляется в БД)
  • Смена темы (светлая/темная, реализовано через AJAX, привязка темы идет к ip пользователя и тема добавляется в базу данных)
  • Создание постов только с уникальным названием (Проверка происходит через AJAX без перезагрузки страницы)
  • Поиск постов по названию (Поисковой запрос делится на слова и происходит поиск совпадений, после чего создается отдельная ссылка с поисковым запросом)
  • Возможность открыть любой пост и прочитать его (Для каждого поста создается ссылка, где можно прочитать всё, что было добавлено)
  • Удаление постов на странице самого поста(Перед удалением выводится окно с вопросом об удалении поста)
  • Редактирование постов (В БД добавляется дата и время изменения поста, и на главной странице отмечено, что пост был отредактирован)
  • На главной странице в постах ограничено количество слов до 300, с целью уменьшить огромное количество прочей информации (Выполнено на JavaScript)

Предварительный просмотр

Светлая тема

Светлая тема

Темная тема

Темная тема

Переключатель темы

Переключатель темы

Запуск сайта

  1. Выбор БД (по умолчанию sqlite3).

    Если нужен PostgreSQL, то в файле blog/settings.py удалить базу данных sqlite3 с именем 'default' и переименовать 'PostgreSQL' в 'default'

    DATABASES = {
        # Стандартная БД sqlite3
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': 'db.sqlite3',
        },
        # БД postgressql
        'PostgreSQL': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': 'db name',
            'USER': 'username',
            'PASSWORD': 'password',
            'HOST': 'localhost',
            'PORT': '5432',
        },
    }
  2. Создание миграций:

    python manage.py makemigrations main
    
    python manage.py migrate
    
  3. Запуск сервера:

    python manage.py runserver
    

About

Блог-сайт для изучения Django и других технологий


Languages

Language:Python 50.4%Language:HTML 32.6%Language:JavaScript 17.1%