Django 天气应用 | 按城市获取天气报告17 Mar 2025 | 6 分钟阅读 在本教程中,我们将使用 Django 创建一个天气应用;这个应用将显示搜索城市的实时天气。这是一个简单的 Django 项目,有助于初学者理解 Django 的基本概念。我们还将使用天气 API 来获取数据。 在继续本教程之前,请确保您已安装 Python 和 Django。如果未安装 Django,可以使用 pip 命令进行安装。我们建议先创建虚拟环境,然后再安装 Django。 前提条件
安装 Django首先,打开 IDE 的终端并创建一个虚拟环境。这里我们使用 Visual Studio。可以使用以下方法创建虚拟环境。
我们使用 pipenv shell 命令创建虚拟环境 ![]() 使用此命令,我们无需激活虚拟环境。它会自动激活。现在,我们将使用 pip 命令安装 Django。 ![]() 要检查 Django 是否已安装,请键入 django-admin -version 并按 Enter 键。 ![]() 这意味着我们已安装最新版本的 Django。 创建项目和应用一个 Django 项目可以包含多个应用。这里我们使用以下命令创建一个项目。 我们创建了一个名为 WeatherProject 的项目,现在我们将使用 python manage.py startapp MyWeatherApp 命令创建一个应用。 ![]() 注意 - 注意,我们在运行 create project 命令时在项目名称后使用了 .(点)。这会在目录中创建一个独立的项目。我们无需进入项目即可访问 manage.py 文件。我们使用以下命令创建了一个名为 MyWeatherApp 的新应用。 它未包含在项目中,因此要考虑该应用,我们必须将应用名称添加到 INSTALLED_APP 中。所以打开 settings.py 文件并添加新创建的应用。 ![]() 此时,我们离创建应用程序又近了一步。使用以下命令运行服务器。 ![]() 点击提供的链接,它将显示 Django 应用程序环境。 登录管理面板接下来,我们将登录内置的 Django Dashboard。为此,我们需要迁移我们的数据库,这意味着 Django 将创建默认应用所需的预定义表。 在终端中键入以下命令并按 Enter 键。 这将为我们的项目创建 SQLite 数据库。这是 Django 提供的默认数据库,并且它已向数据库添加了多个表。 管理面板中会有一个用户表,用于存储我们应用中的用户。 要登录管理面板,我们需要使用以下命令创建一个管理员。 运行命令后,它会要求输入用户信息,例如用户名、电子邮件地址和密码。完成此操作后,再次启动服务器。 ![]() 打开提供的链接并访问 http://127.0.0.1:8000/admin 页面,因为 admin 已在 urls.py 中设置。 添加模板和视图现在,我们将添加模板来制作我们应用程序的布局。模板是一个 HTML 文件,它允许我们添加 Jinja 语法来使模板动态化。在 Weather Project 目录中创建一个名为 template 的新文件夹。 我们创建了 index.html 文件。我们将从天气 API 获取数据并将其渲染到模板,但现在我们将创建 VIEW 并将其映射到 URL。在 view.py 中添加以下函数。 View.py urls.py Django 将匹配没有端点的 URL,并将其路由到我们创建的视图函数。 使用天气 API要获取实时天气报告,我们需要注册 Open Weather Map API。它将返回我们输入到应用程序中的任何城市的实时天气。 访问网站并创建一个帐户,然后转到仪表板上的 API 密钥。 ![]() 注意 - API 密钥应保密,以防止其他方使用。添加 city、city_weather,并导入 requests 模块。 Views.py 解释 - 在上面的视图中,我们检查方法是否为 POST,然后从表单中获取城市名称。然后我们使用 urllib.request.urlopen(). 读取特定城市的数据。我们将 source 变量传递给 json.loads(),它会将数据转换为 Python 字典。 使用此方法,我们可以轻松访问所需数据并将其保存到 context 字典中。当用户输入城市时,它将显示我们存储在 context 字典中的所有属性。 注意 - API 需要一些时间才能激活。如果未激活,请稍后重试。现在我们将更改 html 文件。 现在我们运行服务器并单击提供的链接。它将如下所示。 ![]() 在搜索框中输入城市名称,单击搜索按钮,即可获取天气数据。我们输入 Noida 并获取了天气数据。 ![]() 从上面的快照中可以看出,我们已经使用 Django 框架成功创建了一个天气应用。到目前为止,我们已经了解了一些命令、创建虚拟环境,最重要的是了解了 API。我们还讨论了调用 API 和获取不同天气字段的国家代码、湿度、温度等。 您可以使该项目的 UI 更具吸引力。我们使用了 Bootstrap 类和 HTML。 下一主题缺失数据难题:探索和插补技术 |
在这个数字时代,实时信息变得至关重要,尤其是在规划旅行时。能够获取火车的实时运行状态和 PNR(乘客姓名记录)信息,无论是您经常旅行还是偶尔旅行,都能极大地改善您的旅行体验……
5 分钟阅读
我们将使用本教程创建一个终端版的 Wordle 克隆。自 Josh Wardle 于 2021 年 10 月首次发布以来,已有数百万人使用 Wordle。尽管原始游戏可以在线玩,但我们将为我们的版本创建一个命令行应用程序,并使用 Rich...
阅读 22 分钟
对象检测是计算机视觉中的一项关键任务,它涉及检测和定位图像或视频中感兴趣的对象。多年来,已经开发了许多算法和工具来提高对象检测的准确性和效率。其中一种工具……
阅读 4 分钟
? Python 中的 Selenium Selenium 是一个开源的 Python 框架,它提供了一个 API,用于使用 Selenium 编写功能测试。它用于 Web 应用程序的跨浏览器测试。各种脚本语言支持此库,如 Python、Java、Node.js、C# 和 Ruby。Selenium 旨在驱动浏览器并...
阅读 4 分钟
简介:在本文中,我们将讨论从字符串解析日期 Python。要将字符串转换为 Python 中的 datetime,请使用 strptime() 方法。strptime() 是 datetime 类的内置方法,用于将日期/时间的字符串表示转换为 datetime 对象。语法...
阅读 3 分钟
在本教程中,我们将学习如何格式化输出。格式化和输出是指呈现程序的输出。我们可以将输出格式化为人类可读的形式,或者将数据写入文件以及其他一些指定形式。有时我们需要...
阅读 4 分钟
?我们可以借助 Python 编程语言更高效地集成系统并非常快速地工作。Python 是一种高级、广泛使用的通用编程语言,其设计重点是提高代码的可读性。Python 的语法允许...
5 分钟阅读
Python 中的可变和不可变数据类型 可变或不可变是用来解释数据类型在初始化后是否能够被更新的属性的专业术语。基本解释如下:可变对象是指其内部状态可以改变的对象。在...
7 分钟阅读
? 全局解释器锁本教程将重点介绍 Python 的一个重要主题,GIL。我们还将通过代码实现来介绍 GIL 如何影响 Python 程序的性能。在深入探讨这个主题之前,让我们对 GIL 有一个基本的了解。GIL 或全局...
阅读 4 分钟
Flask 是一个流行的 Web 框架,用于构建基于 Python 的 Web 应用程序。它允许开发人员通过提供用于处理路由、渲染模板、管理会话以及处理请求和响应的工具来轻松创建 Web 应用程序。Web 应用程序的一个重要方面是处理用户输入。用户可能需要...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India