南開科技大學執行教育部大學社會責任實踐計畫-南投百香果資源永續之煉銀網平台,以南投埔里鎮合成里為實踐場域,南開科技大學師生以百香果為題材,進行創新教學以及在地鏈結,以107學年第二學期民生學院院必修課程"物聯網程式設計"為例,該課程教導學生學習物聯網技術發展智慧農業。程式設計語言選目前最火紅的Python,從這篇文章"IEEE Spectrum發布程式語言排名:Python持續強勢、R語言逐漸消退",就可以看出Python的威力。
我國行政院農業委員會資料開放平台開放農產品交易行情,在這個平台可以查到市場農產品交易情形,當然也包括百香果,於是我們想設計一個網站來讀取百香果市場交易情形。讀者可以參考我們在1月份發布的文章"用Python來撰寫顯示今天百香果市場交易情形的程式",經由這支程式可以看出Python的簡潔有力。
本篇文章將說明如何把該程式發佈在網站上,網站空間我們選用Heroku來進行部署,網站框架則使用功能強大的Django,讀者可以參考這篇文章"使用Python+Django架構網站",Django設計可以參考網站:http://daikeren.github.io/django_tutorial/,把Python+Django程式佈署可以參考"用 Heroku 部署網站"。
百香果農產品交易行情網站:https://quiet-falls-72347.herokuapp.com/。
Views.py主要的程式設計如下:
from django.shortcuts import render
import requests
import json
def market(request):
now = datetime.datetime.now()
r = requests.get('http://data.coa.gov.tw/Service/OpenData/FromM/FarmTransData.aspx')
fruits = json.loads(r.text)
rows = []
for row in fruits:
if '百香果' in row['作物名稱']:
rows.append(row)
return render(request, "market.html", locals())
market.html樣版程式
<html>
<head>
<TITLE>
南投百香果資源永續之煉銀網平台
</TITLE>
</head>
<body>
<center>
<h1>
南投百香果資源永續之煉銀網平台
</h1>
<h2>大學社會責任實踐計畫:<a href="http://www.nkut.edu.tw">南開科技大學</a></h2>
</center>
{% for row in rows %}
{% if forloop.first %}
<table style='width:100%' border='1'>
<caption><h2>百香果市場交易情形</h2></caption>
<tr><th>交易日期</th><th>作物代號</th><th>作物名稱</th><th>市場代碼</th><th>市場名稱</th><th>上價</th><th>中價</th><th>下價</th><th>平均價</th><th>交易量</th></tr>
{% endif %}
<tr>
<td><center>{{ row.交易日期 }}</center></td>
<td><center>{{ row.作物代號 }}</center></td>
<td><center>{{ row.作物名稱 }}</center></td>
<td><center>{{ row.市場代號 }}</center></td>
<td><center>{{ row.市場名稱 }}</center></td>
<td><center>{{ row.上價 }}</center></td>
<td><center>{{ row.中價 }}</center></td>
<td><center>{{ row.下價 }}</center></td>
<td><center>{{ row.平均價 }}</center></td>
<td><center>{{ row.交易量 }}</center></td>
</tr>
{% if forloop.last %}
</table>
{% endif %}
{% endfor %}
</body>
</html>
訂閱:
張貼留言 (Atom)
-
字典的觀念和集合很像,但以鍵查值來存取字典內的元素內容,因此字典內元素以 鍵:值 的形態,存在字典中,在字典內的每個元素的 鍵 不可以重複 ,但 值 可以 。 範例一: passionFruit={ '特級':{'同一品種', ...
-
以 臺北農產運銷股份有限公司 的分級包裝為例,對百香果品種而言,分成 百香果(一) 和 百香果(二) ,百香果(一)是改良種,百香果(二)是蜜糖和滿天星。本文以百香果分級來看Python資料結構 首先來看list,可以儲存一串資料的串列容器。 範例一:用索引值取值,從0起算...
-
對初學者而言,常常搞不清楚整數和字串,130是整數也是常數,但'130'是字串,百香果是變數,但"百香果"是字串。 範例一:百香果素有果汁之王的美譽。 print('百香果素有果汁之王的美譽') 在一段文字前後,使用...
-
串列使用中括號[]來當容器,元組(Tuple)則用小括號()來表示。為何有了串列,何需要元組,這是因為在許多場合下,有些資料是不可以改變。 範例一:用小括號()來表示元組(Tuple) PassionFruit=(('大(L)','80以上...
-
集合中元素具備沒有順序的特性,因此無法像串列(List)一樣可以用索引算符或切片方式來存取,當然不能使用串接算符+和重複算符*,集合常用的算符是in和not in,用來判斷元素是否在集合中。 範例一:集合會過濾掉重複的元素 passionFruit={'同一品種...
-
在今年元旦敏哥曾發表" 用Python來撰寫顯示今天百香果市場交易情形的程式 ",雖然短短幾行程式可以用來讀取蔬果市場百香果的交易情形,但對於初學者而言,還是太難了,因此今天利用白天放學時間,距離晚上上課還有一些時間,來把程式說明更詳細一點。 1.Pyth...
-
今天鄭鳳池、鄭勝仁父子從埔里到校來看本校的百香果果園, 鄭 勝仁先生隨手從百香果苗摘下一小片,告訴我百香果已經在開花, 專家就是不一樣,百香果USR計畫團隊成員天天看,都沒有注意到剛種下去的百香果苗已經快開花了。 鄭 勝仁先生說花苞要摘除,避免百香果太早熟長...
-
利用暑假三週開設"Python/Django程式設計-以百香果USR為例"的微學分,共20小時,參與的學生都可以獲得一個學分,敏哥以過去三年用南投百香果來開發Python教材,期待學習者能瞭解Python/Django的程式設計,也能瞭解到台灣百香果的故鄉在南...
-
上圖的用十行Python指令,就可以得南投各鄉鎮百香果的生產情形,程式碼如下: 1 2 3 4 5 6 7 8 9 10 import requests from bs4 import BeautifulSoup import pandas a...
-
程式: 1 2 3 4 5 6 7 8 9 10 11 12 13 import requests from bs4 import BeautifulSoup import pandas as pd my_data = { 'ac...
沒有留言:
張貼留言