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

фото этих мест:
Порядок фотографий для отображения можно настраивать перетаскиванием
- Python 3.10 (проверено на 3.10; более новые версии могут работать, но не тестировались) проверить версию можно так:
python --version- Часть настроек проекта берётся из переменных окружения. Чтобы их определить, создайте файл .env (точка в начале обязательна!) рядом с manage.py и запишите туда данные в таком формате: ПЕРЕМЕННАЯ=значение.
SECRET_KEY='ваш_секретный_ключ'
DEBUG=True #для работы в режиме разработки
ALLOWED_HOSTS=localhost,127.0.0.1 #для работы на локальном ПК
Склонируйте репозиторий:
git clone https://github.com/Skip-Bug/django-affiche
cd django-afficheСоздайте виртуальное окружение с Python 3.10:
# Windows
py -3.10 -m venv venv
# Linux/macOS
python3.10 -m venv venv# Windows
venv\Scripts\activate.bat
# Linux/macOS
source venv/bin/activatepip install -r requirements.txtФайл requirements.txt должен содержать:
django~=5.2.12
Pillow~=12.2.0
django_admin_sortable2~=2.3.1
django_tinymce~=5.0.0
environs~=15.0.1
requests~=2.34.2
django_cleanup~=9.0.0python manage.py migratepython manage.py createsuperuserДля первоначального наполнения базы данных используйте команду:
python manage.py load_place http://адрес/файла.jsonpython manage.py load_place https://raw.githubusercontent.com/devmanorg/where-to-go-places/refs/heads/master/places/%D0%90%D1%80%D1%82-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%82%D0%B2%D0%BE%20%C2%AB%D0%91%D1%83%D0%BD%D0%BA%D0%B5%D1%80%20703%C2%BB.json
json файл должен иметь такую структуру содержимого:
{
"title": "Название места",
"imgs": ["ссылка1", "ссылка2"],
"description_short": "краткое описание",
"description_long": "полное описание",
"coordinates": {
"lng": "долгота",
"lat": "широта"
}
}Пример содержимого:
{
"title": "Лагерь «Подмосковный»",
"imgs": [
"https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/d70328bcfd30a5751fc8b833918d1e94.jpg",
"https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/0976915841002135611c3697a7b4f3f9.jpg",
"https://raw.githubusercontent.com/devmanorg/where-to-go-places/master/media/b3df33667dfd510b2c6baf78f6714190.jpg"
],
"description_short": "«Кто шагает дружно в ряд — это сталкеров отряд», — так сегодня звучит кричалка заброшенного пионерлагеря «Подмосковный». Доехав до ж/д платформы «Кузяево» и пробравшись сквозь лес к месту назначения, можно почувствовать себя не только настоящим сталкером, но и, как говорят, увидеть пионеров-призраков.",
"description_long": "<p>В своё время лагерь «Подмосковный» считался престижным местом отдыха детей «Мостотреста». Здесь могли разместиться до 2000 человек.</p><p>Из особенностей лагерной жизни тех лет бывалые вспоминают обилие комаров, ящериц и змей в кузяевских лесах, а также кузяевский фарфор, который, как бы сейчас сказали, был спонсором лагеря. Фарфоровые трофеи до сих пор периодически находят на развалинах. В лагере сохранились добротно выстроенные двухэтажные кирпичные корпуса, бассейн, искусственный водоём и традиционный для всех лагерей киноконцертный зал.</p><p>Масштабы и оснащённость лагеря восхищают. Однако сразу после закрытия лагерь, как водится, был «раздет догола» вандалами. На развалинах проводятся квесты, однако нужно быть предельно осторожным, чтобы не свалиться в какой-нибудь подвал или не наткнуться на оголённую арматуру, внутри корпусов находиться небезопасно.</p><p>Сегодня, помимо сталкеров, ищущих романтики на этих руинах, лагерь стал плацдармом для любителей экстремального пейнтбола. Но местные жители до сих пор жалеют о разрушении «Подмосковного» и охотно рассказывают истории о призраках пионеров.</p><p>Лагерь не охраняется, вход свободный.</p>",
"coordinates": {
"lng": "38.02520099999999",
"lat": "55.59279999999996"
}
}python manage.py shell
from places.models import Place
Place.objects.all().delete()Затем запустите команду заново.
python manage.py runserverMIT License
Код написан в образовательных целях на онлайн-курсе для разработчиков dvmn.org.