使用Django Python的天气应用程序
在本教程中,我们将学习如何创建一个使用Django作为后台的天气应用程序。Django提供了一个基于Python Web框架的Web框架,它允许快速开发和简洁、务实的设计。
基本设置 –
将目录改为天气 –
cd weather
启动服务器-
python manage.py runserver
要检查服务器是否在运行,请进入一个网页浏览器,输入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中添加主应用程序
编辑 urls.py 文件,在 weather :中。
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),
]
编辑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(
'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)
你可以从.Net获得你自己的API密钥。天气API
导航到templates/main/index.html并编辑它:链接到index.html文件
制作迁移程序并进行迁移:
python manage.py makemigrations
python manage.py migrate
现在让我们运行服务器,看看你的天气应用程序。
python manage.py runserver