模版的基礎知識和使用方法在前面的部落格中已經有過相關的介紹,這篇部落格從專案的角度出發,結合前面路由和檢視中的練習專案,加入模版,使得之前的專案更加完善。之前的專案回顧可以參見django學習day3——檢視和路由(二) ,主要是借助豆瓣平台提供的api進行**的查詢,不過當時因為沒有進行前端的渲染,直接在命令列模式下進行**的查詢,這次的專案,加入模版,將查詢到的結果展示在前端頁面。具體的實現過程如下:
首先在根目錄下建立templates資料夾以及music.html模版檔案,並且在專案的設定中完成模版路徑的配置。
# 拼接查詢的url
url = self.douban_api.format(music_name)
# 通過requests模組進行訪問
try:
re = requests.get(url)
except exception as e:
return render(request, self.template, )
# 如果返回的狀態碼不是200,說明請求豆瓣的api沒有成功
if re.status_code != 200:
return render(request, self.template, )
response = re.json()
return render(request, self.template, response)
在編寫music.html檔案之前,我們首先使用之前的命令列視窗呼叫的方式,對於豆瓣api返回的資料有乙個基礎的認識:
可以看到,返回的data資料中,有"count","start","total","musics"四個字段,我們選擇"count"字段(顯示查詢的結果條數)和"musics"字段(查詢的**詳細結果)進行前端展示。
因為返回的查詢結果中有多條**,我們以一條**為例,檢視得到**的相關字段屬性如上所示,我們選擇"author","image","alt"進行展示。
所以,我們的music.html檔案中的**如下:
music
共計}條資料
在應用目錄下的urls.py中完成檢視函式和應用路由的繫結;在專案目錄下的urls.py中完成應用路由和根路由的繫結。
豆瓣介面有時候不穩定,網路請求會報400,這個時候頁面顯示如下:
如果豆瓣介面可以正常訪問,我們可以得到如下的訪問介面:
DAY8學習筆記
檔案操作的基本概念 開啟檔案的模式有三種純淨模式 r 預設的 w a。控制操作檔案內容格式的兩種模式 t 預設的 b。大前提 tb模式均不能單獨使用,必須與純淨模式結合使用。t文字模式 1.讀寫檔案都是以字串為單位的。2.只能針對文字檔案。3.必須指定encoding引數。b二進位制模式 1.讀寫檔...
java學習筆記day8
多型 定義 某一類事物的多種存在形式。例 動物中貓,狗。貓這個物件對應的型別是貓型別。貓 x new 貓 同時貓也是動物中的一種,也可以把貓稱為動物。動物 y new 貓 動物是貓和狗具體事物中抽取出來的父型別。父型別引用指向了子類物件。多型 可以理解為事物存在的多種體現形態。人 男人,女人。動物 ...
機器學習基礎DAY8
第八章 線性回歸 先從定義說起 誤差大小 sklearn線性回歸正規方程 梯度下降api sklearn.linear model.linearregression 正規方程 普通最小二乘線性回歸 coef 回歸係數 sklearn.linear model.sgdregressor 梯度下降 通過...