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.html
index.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
進(jìn)行遷移并遷移:
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用61行代碼實現(xiàn)圖片像素化的示例代碼
這篇文章主要介紹了Python用61行代碼實現(xiàn)圖片像素化的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12詳解python和matlab的優(yōu)勢與區(qū)別
在本文中小編給大家分享的是關(guān)于python和matlab的優(yōu)勢與區(qū)別的知識點以及實例代碼,需要的朋友們參考學(xué)習(xí)下。2019-06-06Django把SQLite數(shù)據(jù)庫轉(zhuǎn)換為Mysql數(shù)據(jù)庫的過程
之前我們默認(rèn)使用的是SQLite數(shù)據(jù)庫,我們開發(fā)完成之后,里面有許多數(shù)據(jù),如果我們想轉(zhuǎn)換成Mysql數(shù)據(jù)庫,那我們先得把舊數(shù)據(jù)從SQLite導(dǎo)出,然后再導(dǎo)入到新的Mysql數(shù)據(jù)庫里去,這篇文章主要介紹了Django如何把SQLite數(shù)據(jù)庫轉(zhuǎn)換為Mysql數(shù)據(jù)庫,需要的朋友可以參考下2023-05-05python之tensorflow手把手實例講解貓狗識別實現(xiàn)
要說到深度學(xué)習(xí)圖像分類的經(jīng)典案例之一,那就是貓狗大戰(zhàn)了。貓和狗在外觀上的差別還是挺明顯的,無論是體型、四肢、臉龐和毛發(fā)等等, 都是能通過肉眼很容易區(qū)分的。那么如何讓機器來識別貓和狗呢?網(wǎng)上已經(jīng)有不少人寫過這案例了,我也來嘗試下練練手。2021-09-09python基礎(chǔ)教程之?dāng)?shù)字處理(math)模塊詳解
這篇文章主要介紹了pythonr的數(shù)字處理模塊知識(math),需要的朋友可以參考下2014-03-03零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容
文章詳細(xì)介紹了在python2.5環(huán)境下,如何使用urllib2這個python自帶的組件進(jìn)行抓取指定網(wǎng)頁內(nèi)容的,整個過程記錄的非常的詳細(xì),也很簡單,有需要的朋友可以參考下,寫出自己的python爬蟲2014-11-11