A Django-based Weather App that fetches and displays current weather data for any city. The application integrates with a weather API to provide real-time weather information, including temperature, humidity, wind speed, and more.
- Search weather details by city name.
- Display of temperature, humidity, wind speed, and general weather conditions.
- Responsive and user-friendly UI.
- Error handling for invalid city names or network issues.
- Caching of API responses for better performance (optional).
Follow these steps to set up the Weather App on your local machine:
- Python 3.8+
- Django 4.0+
- A weather API key (e.g., from OpenWeatherMap). -A search engine API key (e.g., from Google Custom Search API).
-
Clone the repository:
git clone https://github.com/SimranShaikh20/WeatherApplication cd Weather-App
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.env
file in the project root and add your weather API key:WEATHER_API_KEY=your_api_key_here
-
Apply migrations and run the development server:
python manage.py migrate python manage.py runserver
-
Open the application in your browser at:
http://127.0.0.1:8000/
- Go to the OpenWeatherMap API website.
- Sign up for a free account if you don’t already have one.
- After logging in, navigate to the API Keys section of your profile.
- Generate a new API key or use the default one provided.
- Copy the API key and add it to the
.env
file as:WEATHER_API_KEY=your_api_key_here
- Go to the Google Custom Search API website.
- Sign in with your Google account.
- Navigate to the Get Started section and enable the Custom Search JSON API.
- Create a new search engine and configure it as per your requirements.
- Copy the API key provided in the Credentials section.
- Add the API key to your
.env
file as:SEARCH_ENGINE_API_KEY=your_search_engine_api_key_here
- Enter the city name in the search bar.
- Press the "Search" button.
- View the weather details for the entered city.
Weather-App/
├── weather_app/ # Main Django app containing settings and URLs
├── templates/ # HTML templates for the app
├── static/ # CSS, JavaScript, and image files
├── .env # Environment variables file
├── manage.py # Django management script
├── requirements.txt # Python dependencies
└── README.md # Project documentation
The app uses the OpenWeatherMap API to fetch weather data. Make sure to generate an API key and add it to your .env
file as described in the installation steps.
GET https://api.openweathermap.org/data/2.5/weather?q=city_name&appid=your_api_key
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add your message here"
- Push to the branch:
git push origin feature-name
- Create a Pull Request.