Этот сайт был создан с целью изучения Django. Вся верстка была сделана с помощью Bootstrap, на сайте использовался JavaScript, в качестве базы данных испольльзовался PostgreSQL.
- Python/Django (Динамические ссылки, работа с моделями и формами, Jinja, обработка запросов)
- JavaScript/jQuery
- AJAX
- Bootstrap
- PostgreSQL
- Добавление постов на отдельной странице, после чего все посты отображаются на главной странице (Посты добавляются в базу данных)
- Закрепление поста (Реализовано через AJAX, закрепленный пост поднимается на первое место без обнавления страницы и добавляется в БД)
- Смена темы (светлая/темная, реализовано через AJAX, привязка темы идет к ip пользователя и тема добавляется в базу данных)
- Создание постов только с уникальным названием (Проверка происходит через AJAX без перезагрузки страницы)
- Поиск постов по названию (Поисковой запрос делится на слова и происходит поиск совпадений, после чего создается отдельная ссылка с поисковым запросом)
- Возможность открыть любой пост и прочитать его (Для каждого поста создается ссылка, где можно прочитать всё, что было добавлено)
- Удаление постов на странице самого поста(Перед удалением выводится окно с вопросом об удалении поста)
- Редактирование постов (В БД добавляется дата и время изменения поста, и на главной странице отмечено, что пост был отредактирован)
- На главной странице в постах ограничено количество слов до 300, с целью уменьшить огромное количество прочей информации (Выполнено на JavaScript)
-
Выбор БД (по умолчанию 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', }, }
-
Создание миграций:
python manage.py makemigrations main
python manage.py migrate
-
Запуск сервера:
python manage.py runserver