在本教程中, 我们将学习如何创建使用Django作为后端的天气应用。 Django提供了一个基于Python Web框架的Web框架, 该框架允许快速开发和简洁实用的设计。
基本设置–
【Python如何使用Django实现天气应用()】将目录更改为weather–
cd weather
启动服务器–
python manage.py runserver
要检查服务器是否正在运行, 请转到Web浏览器并输入http://127.0.0.1:8000/作为网址。现在, 你可以通过按以下方式停止服务器
ctrl-c
实现
python manage.py startapp main
通过执行以下操作转到main/文件夹:
cd main
并创建一个文件夹index.html文件:templates/main/index.html
使用文本编辑器打开项目文件夹。目录结构应如下所示:
文章图片
现在在settings.py
文章图片
编辑urls.py天气文件:
from django.contrib import admin
from django.urls import path, includeurlpatterns = [
path( 'admin/' , admin.site.urls), path(' ', include(' main.urls')), ]
编辑urls.py主文件:
from django.urls import path
from . import viewsurlpatterns = [
path('', views.index), ]
在main中编辑views.py:
from django.shortcuts import render
# import json to load json data to python dictionary
import json
# urllib.request to make a request to api
import urllib.requestdef index(request):
if request.method = = 'POST' :
city = request.POST[ 'city' ]
''' api key might be expired use your own api_key
place api_key in place of appid ="your_api_key_here "'''# source contain JSON data from APIsource = urllib.request.urlopen(
'http://api.openweathermap.org/data/2.5/weather?q ='
+ city + '&
appid = your_api_key_here' ).read()# converting JSON data to a dictionary
list_of_data = http://www.srcmini.com/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)
else :
data = http://www.srcmini.com/{}
return render(request,"main/index.html" , data)
你可以从以下位置获取自己的API密钥:天气API
导航templates/main/index.html并对其进行编辑:链接到index.html文件
进行迁移并进行迁移:
python manage.py makemigrations
python manage.py migrate
现在, 让我们运行服务器以查看你的天气应用。
python manage.py runserver
文章图片
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Web缓存和条件GET语句简要介绍
- C#如何使用多维索引器(代码实例)
- 迷宫中的老鼠问题(使用回溯算法解决)
- 打印字符串中每个单词的第一个和最后一个字符
- 使用最少的给定操作数将一个字符串转换为另一个字符串
- C++编程语言快速入门简介
- 字符串的字母数字缩写
- CSS如何实现元素对齐()
- 生产现场车间数字化可视化管理系统软件