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.htmlindex.html

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

Python Django教程之实现天气应用程序

现在添加主应用settings.py

Python Django教程之实现天气应用程序

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

Python Django教程之实现天气应用程序

来源:https://juejin.cn/post/7157347431863025672

标签:Python,Django,天气,应用程序
0
投稿

猜你喜欢

  • 使用Dreamweaver代码片断提高css开发效率

    2007-10-28 15:46:00
  • PHP实现将科学计数法转换为原始数字字符串的方法

    2023-10-15 21:13:10
  • Python3 使用map()批量的转换数据类型,如str转float的实现

    2023-07-15 10:35:03
  • 如何用python实现结构体数组

    2023-10-13 19:07:34
  • 恢复master..xp_logattach(log explorer)

    2010-07-01 19:19:00
  • python输入中文的实例方法

    2023-08-03 03:25:43
  • PHP5中使用DOM控制XML实现代码

    2023-09-30 09:00:07
  • python基础之类型转换函数

    2021-06-25 02:43:27
  • 如何使数据库中取出的数据保持原有格式

    2008-11-27 16:16:00
  • golang中包无法引入问题解决

    2023-09-03 12:34:58
  • mysql分表的3种方法

    2011-01-29 16:50:00
  • Python input函数使用实例解析

    2022-01-05 21:00:34
  • 25个出色的使用叶子的logo设计

    2009-12-29 12:53:00
  • 网站的新趋势

    2008-12-11 13:36:00
  • python的urllib模块显示下载进度示例

    2023-06-13 17:06:31
  • Python ini配置文件示例详解

    2023-08-24 09:07:36
  • win10 64bit下python NLTK安装教程

    2023-04-05 19:49:40
  • python使用wxPython打开并播放wav文件的方法

    2023-08-23 10:30:58
  • ASP连接MySQL数据库的方法

    2010-03-14 11:25:00
  • Centos7.2 编译安装PHP7.0.2的步骤

    2023-10-08 12:51:29
  • asp之家 网络编程 m.aspxhome.com