Python 教程之 Django(13)使用 Django 的天气应用程序

简介: Python 教程之 Django(13)使用 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.htmlindex.html

使用文本编辑器打开项目文件夹。目录结构应如下所示:

image.png

现在添加主应用settings.py

image.png

在天气中编辑 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

image.png



目录
相关文章
|
12月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
1020 0
|
人工智能 Linux 开发工具
Python从零到一:手把手带你写出第一个实用程序
Python语法简洁易懂,适合编程新手入门。它广泛应用于人工智能、自动化办公、Web开发等领域。学习Python可快速搭建项目,拥有丰富库支持和强大社区资源。通过本教程,你将掌握基础语法、环境搭建、程序逻辑控制及实战项目开发,开启编程之旅。
1506 0
|
数据采集 监控 Java
Python 函数式编程的执行效率:实际应用中的权衡
Python 函数式编程的执行效率:实际应用中的权衡
474 102
|
数据采集 数据可视化 安全
基于python大数据的天气可视化分析预测系统
本研究探讨基于Python的天气预报数据可视化系统,旨在提升天气数据获取、分析与展示的效率与准确性。通过网络爬虫技术快速抓取实时天气数据,并运用数据可视化技术直观呈现天气变化趋势,为公众出行、农业生产及灾害预警提供科学支持,具有重要的现实意义与应用价值。
|
12月前
|
机器学习/深度学习 算法 安全
【强化学习应用(八)】基于Q-learning的无人机物流路径规划研究(Python代码实现)
【强化学习应用(八)】基于Q-learning的无人机物流路径规划研究(Python代码实现)
782 6
|
12月前
|
设计模式 决策智能 Python
Python条件控制:让程序学会"思考"的魔法
本文深入浅出地讲解Python条件控制,从基础if语句到多分支、嵌套结构,再到简洁的三元表达式与Python 3.10新增的match-case模式匹配,结合电商折扣、会员等级、ATM系统等实战案例,全面掌握程序“智能决策”的核心逻辑。
682 0
|
设计模式 缓存 运维
Python装饰器实战场景解析:从原理到应用的10个经典案例
Python装饰器是函数式编程的精华,通过10个实战场景,从日志记录、权限验证到插件系统,全面解析其应用。掌握装饰器,让代码更优雅、灵活,提升开发效率。
696 0
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
668 0
|
存储 程序员 数据处理
Python列表基础操作全解析:从创建到灵活应用
本文深入浅出地讲解了Python列表的各类操作,从创建、增删改查到遍历与性能优化,内容详实且贴近实战,适合初学者快速掌握这一核心数据结构。
830 0

推荐镜像

更多