Situatie
Django provides a Python Web framework based web framework that allows rapid development and clean, pragmatic design.
Solutie
Pasi de urmat
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 withindex.html
file:templates/main/index.html
Open the project folder using a text editor. The directory structure should look like this :
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),
]
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(
‘http://api.openweathermap.org/data/2.5/weather?q =’
+ 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)
Navigate to templates/main/index.html
and edit it 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
Leave A Comment?