使用 Django 的天气应用程序 | Python
在本教程中,我们将学习如何创建一个使用 Django 作为后端的天气应用程序。 Django 提供了一个基于Python Web 框架的 Web 框架,允许快速开发和简洁、实用的设计。
基本设置 –
将目录更改为天气 -
cd weather
启动服务器——
python manage.py runserver
要检查服务器是否正在运行,请转到 Web 浏览器并输入http://127.0.0.1:8000/
作为 URL。现在,您可以按
ctrl-c
执行 :
python manage.py startapp main
通过执行以下操作转到 main/ 文件夹:
cd main
并使用index.html
文件创建一个文件夹: templates/main/index.html
使用文本编辑器打开项目文件夹。目录结构应如下所示:
现在在settings.py
中添加主应用程序
在 weather 中编辑urls.py
文件:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('main.urls')),
]
在 main 中编辑urls.py
文件:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
]
在 main 中编辑 views.py:
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)
您可以从以下位置获取自己的 API 密钥:Weather API
导航到templates/main/index.html
并编辑它:链接到index.html
文件
进行迁移并迁移它:
python manage.py makemigrations
python manage.py migrate
现在让我们运行服务器来查看您的天气应用程序。
python manage.py runserver
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。