Python Django教程之實(shí)現(xiàn)天氣應(yīng)用程序
在本教程中,我們將學(xué)習(xí)如何創(chuàng)建一個(gè)使用Django作為后端的天氣應(yīng)用程序。Django提供了一個(gè)基于Python Web框架的Web框架,允許快速開發(fā)和干凈,務(wù)實(shí)的設(shè)計(jì)。
基本設(shè)置
將目錄更改為天氣
cd weather
啟動服務(wù)器
python manage.py runserver
要檢查服務(wù)器是否正在運(yùn)行,請轉(zhuǎn)到 Web 瀏覽器并輸入為 URL?,F(xiàn)在,您可以通過按以下命令停止服務(wù)器http://127.0.0.1:8000/
ctrl-c
實(shí)現(xiàn)
python manage.py startapp main
轉(zhuǎn)到主/文件夾通過做:
cd main
并創(chuàng)建一個(gè)包含文件的文件夾:templates/main/index.htmlindex.html
使用文本編輯器打開項(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ā)出請求
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)在,讓我們運(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python用61行代碼實(shí)現(xiàn)圖片像素化的示例代碼
這篇文章主要介紹了Python用61行代碼實(shí)現(xiàn)圖片像素化的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
詳解python和matlab的優(yōu)勢與區(qū)別
在本文中小編給大家分享的是關(guān)于python和matlab的優(yōu)勢與區(qū)別的知識點(diǎn)以及實(shí)例代碼,需要的朋友們參考學(xué)習(xí)下。2019-06-06
Django把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-05
python之tensorflow手把手實(shí)例講解貓狗識別實(shí)現(xiàn)
要說到深度學(xué)習(xí)圖像分類的經(jīng)典案例之一,那就是貓狗大戰(zhàn)了。貓和狗在外觀上的差別還是挺明顯的,無論是體型、四肢、臉龐和毛發(fā)等等, 都是能通過肉眼很容易區(qū)分的。那么如何讓機(jī)器來識別貓和狗呢?網(wǎng)上已經(jīng)有不少人寫過這案例了,我也來嘗試下練練手。2021-09-09
python基礎(chǔ)教程之?dāng)?shù)字處理(math)模塊詳解
這篇文章主要介紹了pythonr的數(shù)字處理模塊知識(math),需要的朋友可以參考下2014-03-03
零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容
文章詳細(xì)介紹了在python2.5環(huán)境下,如何使用urllib2這個(gè)python自帶的組件進(jìn)行抓取指定網(wǎng)頁內(nèi)容的,整個(gè)過程記錄的非常的詳細(xì),也很簡單,有需要的朋友可以參考下,寫出自己的python爬蟲2014-11-11

