Skip to content

jmuriki/where_to_go

Repository files navigation

where_to_go - Куда пойти — Москва глазами Артёма

Пилотный проект будущего сайта о самых интересных местах в Москве. Авторский проект некого Артёма, с некоторыми доработками.

Наглядно ознакомиться с проектом можно здесь, а тут располагается панель администратора. Логин для входа с правом просмотра - 12345user, пароль - 12345password.

Куда пойти

Установка

Рекомендуется установить python 3.10. Затем используйте pip (или pip3, если есть конфликт с python2) для установки зависимостей:

pip install -r requirements.txt

или

pip3 install -r requirements.txt

Рекомендуется использовать venv для изоляции проекта.

Ключи и параметры

Все представленные ниже ключи и параметры имеют значения по умолчанию.

Сохраните ключи/токены/параметры в .env файл в директорию проекта с соблюдением типа данных в следующем формате:


SECRET_KEY=вместо этого текста вставьте ключ; по умолчанию - get_random_secret_key()

DEBUG=вставьте значение True или False, в зависимости от того, требуется ли вам режим отладки Django; по умолчанию - False

ALLOWED_HOSTS=по умолчанию - []

STATICFILES_DIRS=вставьте список путей к статике; по умолчанию - [Path(f'{BASE_DIR}/static')]

TEMPLATES_DIRS=вставьте список путей к шаблонам; по умолчанию - [Path(f'{BASE_DIR}/templates')]

DATABASE_ENGINE=вставьте тип используемой БД; по умолчанию - 'django.db.backends.sqlite3'

DATEBASE_NAME=вставьте имя БД, помещенной в базовую директорию проекта; по умолчанию - 'db.sqlite3'

STATIC_ROOT=по умолчанию - ''

STATIC_URL=по умолчанию - '/static/'

MEDIA_ROOT=по умолчанию - Path(f'{BASE_DIR}/media'))

MEDIA_URL=по умолчанию - '/media/'

Локальный запуск

manage.py

Находясь в консоли в директории проекта, где располагается файл manage.py, выполните следующие команды:

python3 manage.py migrate
  • данная команда подготавливает базу данных к запуску сайта
python3 manage.py createsuperuser
  • эта команда помогает создать суперпользователя для дальнейшего доступа к панели администратора
python3 manage.py runserver
  • данная команда запускает сайт на локальном сервере

После успешного запуска вы сможете увидеть сайт по адресу http://127.0.0.1:8000. По адресу http://127.0.0.1:8000/admin/ вы найдёте панель администратора, которая позволяет добавлять новые локации с описаниями, выгружать и сортировать фотографии. Помните, что после внесения изменений необходимо сохранять изменения кнопкой "SAVE" в нижнем правом углу страниц Place и Image.

Добавление новых локаций

Кроме использования админки есть и другой способ добавления локаций, когда информация о каждой локации предварительно сохраняется в отдельный json-файл в следующем формате:

{
    "title": "Экскурсионный проект «Крыши24.рф»",
    "imgs": [
        "https://kudago.com/media/images/place/d0/f6/d0f665a80d1d8d110826ba797569df02.jpg",
        "https://kudago.com/media/images/place/66/23/6623e6c8e93727c9b0bb198972d9e9fa.jpg",
        "https://kudago.com/media/images/place/64/82/64827b20010de8430bfc4fb14e786c19.jpg",
    ],
    "description_short": "Хотите увидеть Москву с высоты птичьего полёта?",
    "description_long": "<p>Проект «Крыши24.рф» проводит экскурсии ...</p>",
    "coordinates": {
        "lat": 55.753676,
        "lng": 37.64
    }
}

Для того, чтобы подгрузить информацию в базу данных, в терминале, находясь в директории проекта, используйте следующую команду:

python3 manage.py load_place -j введите/путь/до/отдельной/папки,/содержащей/исключительно/json-файлы/локаций

Если изображения у вас уже скачаны, вторым аргументом -i можете указать папку, содержащую их:

python3 manage.py load_place -j путь -i введите/путь/до/отдельной/папки,/содержащей/исключительно/изображения/локаций

Используемые библиотеки

  • Django — сервер для разработки, панель администратора, шаблонизация
  • Leaflet — отрисовка карты
  • loglevel для логгирования
  • Bootstrap — CSS библиотека
  • Vue.js — реактивные шаблоны на фронтенде

Цель проекта

Код написан в учебных целях — это урок в курсе по Python и веб-разработке на сайте Devman.

Тестовые данные взяты с сайта KudaGo.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published