Это веб-приложение разработано на Django для получения текущей погоды и прогноза на ближайшие 24 часа для выбранных пользователем городов. Приложение использует открытое API для получения данных о погоде и сохраняет историю запросов пользователей.
-
Клонирование репозитория:
git clone <URL репозитория> cd o-complex
-
Установка зависимостей:
Создайте виртуальное окружение и активируйте его, затем установите зависимости:
python -m venv venv source venv\Scripts\activate pip install -r requirements.txt
-
Настройка базы данных:
Укажите настройки базы данных в файле
settings.py
:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
В проекте использовалась PostgreSQL, можно также использовать другие базы данных, поддерживаемые Django.
-
Применение миграций:
Примените миграции Django для создания таблиц в базе данных:
python manage.py migrate
-
Запуск сервера:
Запустите сервер разработки Django:
python manage.py runserver
Приложение будет доступно по адресу
http://127.0.0.1:8000/
.
Для удобства разворачивания приложения вы можете использовать Docker. Это позволит избежать проблем с настройками окружения и зависимостями.
-
Убедитесь, что у вас установлен Docker
-
Клонирование репозитория:
git clone <URL репозитория> cd o-complex
-
Заполнение файла .env:
Переименуйте файл example.env в .env в корне проекта и заполните например:
DEBUG=True ALLOWED_HOSTS="web 127.0.0.1 localhost 0.0.0.0" DJANGO_SETTINGS_MODULE="config.settings" PG_DATABASE=weather_app PG_USER=postgres PG_PASSWORD=postgres DB_HOST=db DB_PORT=5432
-
Запуск приложения с помощью Docker Compose:
В терминале перейдите в корневую директорию проекта и выполните команду:
docker-compose up --build
Это создаст и запустит контейнеры для приложения и базы данных.
-
Форма ввода города:
На главной странице приложения пользователю предлагается ввести название города в форму и нажать кнопку "Получить прогноз".
-
Отображение данных о погоде:
После отправки формы отображается текущая погода и прогноз на ближайшие 10 часов для выбранного города начиная с времени отправки.
-
История запросов:
В приложении реализована функция сохранения истории запросов пользователей представлены последние 5 запросов. На странице также предсталяется обратится к последнему запросу пользователя.
- Django: Фреймворк для разработки веб-приложений на Python.
- OpenWeather API: API для получения данных о погоде.
- Geopy: Библиотека для работы с геокодированием.
- PostgreSQL: База данных.
Этот проект создан в образовательных целях для изучения Django и интеграции с внешними API.