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

Сайт о самых интересных местах в Москве. Авторский проект Артёма.

Screenshot from 2022-10-16 17-06-34 Пример работающего сайта
Важно! Запускайте с протоколом http://

Как устроен сайт

Сайт представляет собой интерактивную карту Москвы, на которой отмечаются места активного отдыха и различных достопримечательностей с подробными описаниями и комментариями.

Как добавить или изменить метки на карте через админ-панель

  1. Для доступа в админку сайта перейдите по ссылке:

    http://45.84.226.238:8000/admin/

    admin_1

  2. Для добавления нового места на карте перейдите в Places:

    http://45.84.226.238:8000/admin/places/place/

    и нажмите ADD PLACE:

    Screenshot from 2022-10-16 17-01-14

  3. Для изменения уже существующего места перейдите по нужному пункту в колонке title

  4. Добавьте или измените данные или фото:

    Screenshot from 2022-10-16 17-04-22


Как добавить метку на карте через терминал

Для добавления новой метки на карту средствами разработчика используйте команду load_place

При этом вы должны находится в активированном виртуальном окружении, все необходимые файлы должны быть загружены, библиотеки установлены

  • Для добавления одиночной позиции используйте команду:

    python3 manage.py load_place --url <файл.json>

    Содержимое файла <файл.json> должно иметь вид:
    "title": "Генератор Маркса или «Катушка Тесла»",
    "imgs": [
        "https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/d3b5cc74cc94c802b51c85542b2f9ad5.jpg",
        "https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/b742b82f77028d6a8c9be681cab25a3d.jpg",
        "https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/57f990fd24a55324fc1fc541cac41b99.jpg",
        "https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/2d5be0d4e83fdde3e8c98f18e0d2e365.jpg",
        "https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/d4a8ab43eff1f7e83491610682d13984.jpg",
        "https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/7945e1e565530ab6943c40d64f21cfb7.jpg"
    ],
    "description_short": "Место, в котором рождаются искусственные молнии и облака.",
    "description_long": "<p>Внешний вид этого монстроподобного, внушительного комплекса заставляет сердца посетителей биться чаще, а некоторое сходство с катушкой Тесла (на самом деле это генератор Аркадьева-Маркса) влечёт сюда всех любителей научпопа, индастриала и других интересующихся. Для того, чтобы попасть на территорию действующего испытательного стенда ВНИЦ ВЭИ, коим и является это окутанное мифами место, рекомендуется договориться с охраной. Несанкционированное попадание в пределы испытаний может повлечь самые серьёзные последствия!</p>",
    "coordinates": {
        "lng": "36.88324860715219",
        "lat": "55.92555463090268"
    }
}
  • Для добавления сразу нескольких позиций из указанного url используйте команду:

    python3 manage.py load_place --all <url>
    Ссылка <url> должна вести на страницу, содержащую данные о локациях по подобию этой страницы

  • Для добавления сразу нескольких позиций из "https://github.com/devmanorg/where-to-go-places/tree/master/places" используйте команду:

    python3 manage.py load_place -ad
    При работе последних двух команд возможны временные паузы в связи с ограничениями github.


Как установить сайт на удаленном сервере

Упрощенный вариант для ознакомительных целей

  • Загрузите данные на сервер:
    git clone https://github.com/Sergryap/devman_where_to_go.git

  • Перейдите в созданную папку проекта:
    cd devman_where_to_go

  • Создайте виртуальное окружение:
    python3 -m venv venv

  • Активируйте виртуальное окружение:
    source venv/bin/activate

  • Установите все зависимости:
    pip install -r requirements.txt
    Screenshot from 2022-10-16 16-39-58

  • Создайте в корневом каталоге вашего проекта файл .env и задайте в нем переменные окружения по образцу:

SECRET_KEY=<секретный ключ вашего проекта джанго>
ALLOWED_HOSTS=<ip разрешенных серверов>


Screenshot from 2022-10-18 19-36-02


Screenshot from 2022-10-18 19-34-14

где:
SECRET_KEY - секретный ключ для конкретной установки Django. Для начала установите любую случайную строку.
ALLOWED_HOSTS - имена хостов/доменов (через запятую), которым разрешено обслуживать сайт Django.

Для генерации нового SECRET_KEY можно воспользоваться командой:

python3 manage.py get_secret_key

Подробнее см. здесь: https://docs.djangoproject.com/en/4.1/ref/settings/

  • Выполните команду, для создания базы данных:
    python3 manage.py migrate

  • Создайте первого суперпользователя:
    python3 manage.py createsuperuser
    Screenshot from 2022-10-16 16-42-07

  • Загрузите данные в базу данных сайта:
    python3 manage.py load_place -ad
    Screenshot from 2022-10-16 16-42-39

  • Запустите виртуальный сервер:
    python3 manage.py runserver 0.0.0.0:8000
    Screenshot from 2022-10-16 16-45-30

  • Сайт будет доступен по ссылке:
    http://<IP вашего сервера>:8000/