Python Django教程之实现天气应用程序
作者:海拥 时间:2022-03-22 23:02:43
在本教程中,我们将学习如何创建一个使用Django作为后端的天气应用程序。Django提供了一个基于Python Web框架的Web框架,允许快速开发和干净,务实的设计。
基本设置
将目录更改为天气
cd weather
启动服务器
python manage.py runserver
要检查服务器是否正在运行,请转到 Web 浏览器并输入为 URL。现在,您可以通过按以下命令停止服务器http://127.0.0.1:8000/
ctrl-c
实现
python manage.py startapp main
转到主/文件夹通过做:
cd main
并创建一个包含文件的文件夹:templates/main/index.html
index.html
使用文本编辑器打开项目文件夹。目录结构应如下所示:
现在添加主应用settings.py
在天气中编辑 urls.py 文件:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('main.urls')),
]
在主文件中编辑 urls.py 文件:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index),
]
在`主文件中编辑 views.py :
from django.shortcuts import render
# 导入json以将json数据加载到python字典
import json
# urllib.request 向api发出请求
import urllib.request
def index(request):
if request.method == 'POST':
city = request.POST['city']
''' api密钥可能已过期,请使用您自己的api密钥
将api_key替换为appid=“your_api_key_here” '''
# 包含来自API的JSON数据
source = urllib.request.urlopen(
'http://api.openweathermap.org/data/2.5/weather?q ='
+ city + '&appid = your_api_key_here').read()
# 将JSON数据转换为字典
list_of_data = json.loads(source)
# 变量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 密钥: 天气 API
导航并编辑它:链接到索引.html文件templates/main/index.html
进行迁移并迁移:
python manage.py makemigrations
python manage.py migrate
现在,让我们运行服务器以查看天气应用。
python manage.py runserver
来源:https://juejin.cn/post/7157347431863025672
标签:Python,Django,天气,应用程序


猜你喜欢
学习ASP.NET八天入门:第七天
2007-08-07 13:52:00

解析PyCharm集成GitLab代码仓的问题
2022-06-08 07:36:15

python模块之re正则表达式详解
2021-08-15 03:34:52

Python对象与json数据的转换问题实例详解
2023-10-27 22:08:39
PHP访问MySQL查询超时处理的方法
2023-11-23 03:05:48

mysql中json的使用方式详解
2024-01-27 14:39:43
Pycharm Git 设置方法
2023-07-13 17:02:55

python用Configobj模块读取配置文件
2023-10-30 04:29:00

Python输出指定字符串的方法
2023-07-29 15:06:02
oracle sqlplus 常用命令大全
2009-05-24 19:47:00
python上下文管理器协议的实现
2023-08-28 18:32:18
python实现带界面的井字棋小游戏
2022-11-14 22:28:24

php教程之phpize使用方法
2024-05-02 17:16:46
BeautifulSoup中find和find_all的使用详解
2023-11-08 21:00:22

Python操作Excel插入删除行的方法
2023-08-05 21:13:50
Python入门(六)Python数据类型
2022-08-19 21:09:11

javascript 通用滑动门tab类
2023-08-05 09:42:25
深入浅析Python中的yield关键字
2022-04-18 05:02:32
MySQL 的模块不能安装的解决方法
2024-01-29 13:15:36
基于Mediapipe+Opencv实现手势检测功能
2023-09-18 13:11:52
