はじめに
- データベースからデータを取得し、動的なWebページを作成するサンプル
サンプル
- index.html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
//var data = 10;
//var data_list=['hoge','geho];
function get_data(data, data_list){
var request = {
data1 : data,
data2 : data_list
};
$.ajax({
url: 'get_data.py',
type: 'POST',
data: JSON.stringify(request)
})
.done(function(data){
result = JSON.parse(data);
for (i=0;i<result.length;i++){
console.log(result[i][0]);
}
})
.fail(function(){
console.log('failed');
});
};
- get_data.py
import sys
import json
import psycopg2
# connect postgreSQL
users = 'postgres'
dbnames = 'postgres'
passwords = '*******'
conn = psycopg2.connect(" user=" + users +" dbname=" + dbnames +" password=" + passwords)
cur = conn.cursor()
# index.htmlから飛ばしたデータを取得
recieve = sys.stdin.read()
params = json.loads(recieve)
data = params["data1"]
data_list = params["data2"]
# SQL文を作成し実行
sql = 'select data from dataTbale where (AAA = data) and ((BBB = data_list[0]) or (BBB = data_list[1]))'
cur.execute(sql)
results = cur.fetchall()
conn.commit()
# 後片付け
cur.close()
conn.close()
# index.html側に通知
print('Content-type: text/html\n')
print(json.dumps(results))