create-a-weather-app-using-flask-python

使用 Flask | Python 创建天气应用程序

原文:https://www . geesforgeks . org/create-a-weather-app-use-flask-python/

先决条件: 烧瓶安装

Flask 是一个用 Python 编写的轻量级框架。它是轻量级的,因为它不需要特定的工具或库,并且允许快速的 web 开发。今天我们将使用 flask 作为 web 框架创建一个天气应用程序。这个天气网络应用程序将提供搜索到的城市的最新天气信息。

基本设置:

创建一个文件,并将其命名为

创建文件的 Linux 命令

py 复制代码
touch weather.py 

现在,用文件名index.html创建一个文件夹模板

Linux 命令创建一个文件夹和一个文件

py 复制代码
 mkdir templates && cd templates && touch index.html 

项目文件夹看起来像:

编辑文件:
天气 API 中使用自己的 API 密钥,并将其放入 API 变量中。现在编辑weather.py文件。

py 复制代码
from flask import Flask, render_template, request

# import json to load JSON data to a python dictionary
import json

# urllib.request to make a request to api
import urllib.request

app = Flask(__name__)

@app.route('/', methods =['POST', 'GET'])
def weather():
    if request.method == 'POST':
        city = request.form['city']
    else:
        # for default name mathura
        city = 'mathura'

    # your API key will come here
    api = api_key_here

    # source contain json data from api
    source = urllib.request.urlopen('http://api.openweathermap.org/data/2.5/weather?q =' + city + '&appid =' + api).read()

    # converting JSON data to a dictionary
    list_of_data = json.loads(source)

    # data for variable 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)
    return render_template('index.html', data = data)

if __name__ == '__main__':
    app.run(debug = True)

导航至模板/index.html 并编辑:链接至索引文件

现在,您可以运行服务器来查看天气应用程序--

py 复制代码
 python weather.py 
相关推荐
云恒要逆袭2 分钟前
运行你的第一个Docker容器
后端·docker·容器
渣波2 分钟前
拒绝黑盒!NestJS + LangChain 实战保姆级拆解,手把手教你搞定双 Token 与 AI 大脑
前端·后端
MacroZheng10 分钟前
斩获20w star!Claude Code最强插件,AI编程必备!
java·人工智能·后端
IT_陈寒35 分钟前
Vite打包后的路径问题差点让我改了一天代码
前端·人工智能·后端
铁皮饭盒1 小时前
Bun 多线程有多快?postMessage 传输字符串比 Node.js 快 400 倍!
前端·javascript·后端
葫芦和十三2 小时前
图解 MongoDB 12|索引与查询优化地图:一条主线,三个判断轴
后端·mongodb·agent
葫芦和十三8 小时前
图解 MongoDB 11|慢查询排查闭环:从 Profile 到 explain 的分层路径
后端·mongodb·agent
葫芦和十三11 小时前
图解 MongoDB 09|explain 再读:从 queryPlanner 到 executionStats
后端·mongodb·agent
葫芦和十三11 小时前
图解 MongoDB 10|覆盖查询:让索引把活干完,根本不用回表
后端·mongodb·agent
大鸡腿同学13 小时前
从 CoT 思维链到 ReAct:智能 Agent 到底是怎么 “思考” 的?
后端