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

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

