Weather app using Django | Python
In this tutorial, we will learn how to create a Weather app that uses Django as backend. Django provides a Python Web framework based web framework that allows rapid development and clean, pragmatic design.
Basic Setup –
Change directory to weather –
cd weather
Start the server –
python manage.py runserver
To check whether the server is running or not go to a web browser and enter http://127.0.0.1:8000/ as URL. Now, you can stop the server by pressing
ctrl-c
Implementation :
python manage.py startapp main
Goto main/ folder by doing :
cd main
and create a folder with index.html file: templates/main/index.html
Open the project folder using a text editor. The directory structure should look like this :

Now add main app in settings.py

Edit urls.py file in weather :
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('main.urls')), ] |
edit urls.py file in main :
from django.urls import path from . import views urlpatterns = [ path('', views.index), ] |
edit views.py in main :
from django.shortcuts import render # import json to load json data to python dictionary import json # urllib.request to make a request to api import urllib.request def index(request): if request.method == 'POST': city = request.POST['city'] ''' api key might be expired use your own api_key place api_key in place of appid ="your_api_key_here " ''' # source contain JSON data from API source = urllib.request.urlopen( + city + '&appid; = your_api_key_here').read() # converting JSON data to a dictionary list_of_data = json.loads(source) # data for variable list_of_data data = { "country_code": str(list_of_data['sys']['country']), "coordinate": str(list_of_data['coord']['lon']) + ' ' + str(list_of_data['coord']['lat']), "temp": str(list_of_data['main']['temp']) + 'k', "pressure": str(list_of_data['main']['pressure']), "humidity": str(list_of_data['main']['humidity']), } print(data) else: data ={} return render(request, "main/index.html", data) |
You can get your own API key from : Weather API
Navigate to templates/main/index.html and edit it: link to index.html file
Make migrations and migrate it:
python manage.py makemigrations python manage.py migrate
now let’s run the server to see your weather app.
python manage.py runserver

Recommended Posts:
- Create a Weather app using Flask | Python
- Python | Find current weather of any city using openweathermap API
- Python | Real time weather detection using Tkinter
- Views In Django | Python
- Django URL patterns | Python
- Python | Django News App
- Django Migrations | Python
- Python | Django Admin Interface
- Python | ToDo webapp using Django
- Python | Sessions framework using django
- Complete Django History | Python
- Python | Form validation using django
- Python | Uploading images in Django
- Intermediate fields in Django | Python
- Python | Relational fields in Django models
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



