Python Django教程之实现天气应用程序
作者:海拥 发布时间:2022-03-22 23:02:43
标签:Python,Django,天气,应用程序
在本教程中,我们将学习如何创建一个使用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
0
投稿
猜你喜欢
- 安装环境:python版本2.7.5 ,win7系统安装Djangohttps://www.djangoproject.com/downlo
- 常用字段类型bit(0和1),datetime,int,varchar,nvarchar(可能含有中文用nvarchar) Varchar,
- 本文实例讲述了python将MongoDB里的ObjectId转换为时间戳的方法。分享给大家供大家参考。具体分析如下:MongoDB里的_i
- 当models中使用ManyToManyField进行多表关联的时候,需要使用字段的add()方法来增加关联关系的一条记录,让两个实例关联起
- 本文主要给大家介绍了关于Python中getpass模块的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍:getpass
- 一个很不错的效果,用键盘的箭头键控制一个漂亮的箭头!也许能给你启发,做出一款有趣的小游戏呢!运行代码框<html xmlns:v=&q
- 本文实例讲述了PHP判断密码强度的方法。分享给大家供大家参考,具体如下:一、php页面$score = 0;if(!empty($_GET[
- 本文实例讲述了Python使用爬虫爬取静态网页图片的方法。分享给大家供大家参考,具体如下:爬虫理论基础其实爬虫没有大家想象的那么复杂,有时候
- 本文实例讲述了Python将xml和xsl转换为html的方法。分享给大家供大家参考。具体分析如下:这里需要用libxml2,所以还要先安装
- tkinter库Canvas操作三个实例实例一:涂鸦import tkinter as tkimport pyautogui as agfr
- 本文实例讲述了python自动化测试之setUp与tearDown的用法,分享给大家供大家参考。具体如下:实例代码如下:class Roma
- 一、生成二维码二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编
- 更改主题File → Settings → Appearance & Behavior → Appearance → Theme结果
- 1 减少HTTP请求数量 (Minimize HTTP Requests) tag:content80%的用户响应时间被花费在前端
- 编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个
- stark组件是仿照django的admin模块开发的一套组件,它的作用是在网页上对注册的数据表进行增删改查操作一、配置1、创建
- 本文实例讲述了Python编程实现数学运算求一元二次方程的实根算法。分享给大家供大家参考,具体如下:问题:请定义一个函数quadratic(
- 本文实例为大家分享了wxPython绘图模块wxPyPlot实现数据可视化的具体代码,供大家参考,具体内容如下#-*- coding: ut
- 对于软件来说,每一个新版本的推出都应该是一种进步,不可否认,阿里旺旺2008版相较于之前的版本的确是有很多的进步,但进步的同时却也有着比之前
- 示例首先模拟一个业务场景,有订单、产品、自定义订单三个结构体,订单中包含多个产品:type Order struct {Id