Python Django教程之實(shí)現(xiàn)天氣應(yīng)用程序
在本教程中,我們將學(xué)習(xí)如何創(chuàng)建一個(gè)使用Django作為后端的天氣應(yīng)用程序。Django提供了一個(gè)基于Python Web框架的Web框架,允許快速開(kāi)發(fā)和干凈,務(wù)實(shí)的設(shè)計(jì)。
基本設(shè)置
將目錄更改為天氣
cd weather
啟動(dòng)服務(wù)器
python manage.py runserver
要檢查服務(wù)器是否正在運(yùn)行,請(qǐng)轉(zhuǎn)到 Web 瀏覽器并輸入為 URL?,F(xiàn)在,您可以通過(guò)按以下命令停止服務(wù)器http://127.0.0.1:8000/
ctrl-c
實(shí)現(xiàn)
python manage.py startapp main
轉(zhuǎn)到主/文件夾通過(guò)做:
cd main
并創(chuàng)建一個(gè)包含文件的文件夾:templates/main/index.htmlindex.html
使用文本編輯器打開(kāi)項(xiàng)目文件夾。目錄結(jié)構(gòu)應(yīng)如下所示:

現(xiàn)在添加主應(yīng)用settings.py

在天氣中編輯 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
# 導(dǎo)入json以將json數(shù)據(jù)加載到python字典
import json
# urllib.request 向api發(fā)出請(qǐng)求
import urllib.request
def index(request):
if request.method == 'POST':
city = request.POST['city']
''' api密鑰可能已過(guò)期,請(qǐng)使用您自己的api密鑰
將api_key替換為appid=“your_api_key_here” '''
# 包含來(lái)自API的JSON數(shù)據(jù)
source = urllib.request.urlopen(
'http://api.openweathermap.org/data/2.5/weather?q ='
+ city + '&appid = your_api_key_here').read()
# 將JSON數(shù)據(jù)轉(zhuǎn)換為字典
list_of_data = json.loads(source)
# 變量list_of_data的數(shù)據(jù)
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
導(dǎo)航并編輯它:鏈接到索引.html文件templates/main/index.html
進(jìn)行遷移并遷移:
python manage.py makemigrations python manage.py migrate
現(xiàn)在,讓我們運(yùn)行服務(wù)器以查看天氣應(yīng)用。
python manage.py runserver

到此這篇關(guān)于Python Django教程之實(shí)現(xiàn)天氣應(yīng)用程序的文章就介紹到這了,更多相關(guān)Python Django天氣應(yīng)用程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 生成正態(tài)分布數(shù)據(jù),并繪圖和解析
這篇文章主要介紹了python 生成正態(tài)分布數(shù)據(jù),并繪圖和解析,幫助大家更好的利用python進(jìn)行數(shù)據(jù)分析,感興趣的朋友可以了解下2020-12-12
利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信
本文主要介紹了利用Python中SocketServer 實(shí)現(xiàn)客戶端與服務(wù)器間非阻塞通信示例代碼,具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧2016-12-12
Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)
與字符串類似,Swift3在數(shù)組和字典等結(jié)構(gòu)上也有改動(dòng),這里我們就來(lái)整理Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié):2016-07-07
python調(diào)用stitcher類自動(dòng)實(shí)現(xiàn)多個(gè)圖像拼接融合功能
這篇文章主要介紹了python調(diào)用stitcher類自動(dòng)實(shí)現(xiàn)多個(gè)圖像拼接融合功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
aws 通過(guò)boto3 python腳本打pach的實(shí)現(xiàn)方法
這篇文章主要介紹了aws 通過(guò)boto3 python腳本打pach的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
flask 實(shí)現(xiàn)token機(jī)制的示例代碼
這篇文章主要介紹了flask 實(shí)現(xiàn)token機(jī)制的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
python尋找list中最大值、最小值并返回其所在位置的方法
今天小編就為大家分享一篇python尋找list中最大值、最小值并返回其所在位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
django組合搜索實(shí)現(xiàn)過(guò)程詳解(附代碼)
這篇文章主要介紹了django組合搜索實(shí)現(xiàn)過(guò)程詳解(附代碼),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python實(shí)現(xiàn)的查詢mysql數(shù)據(jù)庫(kù)并通過(guò)郵件發(fā)送信息功能
這篇文章主要介紹了Python實(shí)現(xiàn)的查詢mysql數(shù)據(jù)庫(kù)并通過(guò)郵件發(fā)送信息功能,可實(shí)現(xiàn)Python針對(duì)mysql的查詢與宕機(jī)信息通過(guò)郵件發(fā)送的相關(guān)操作技巧,需要的朋友可以參考下2018-05-05

