実現したいこと
python、ラズパイを使った監視カメラのシステムを作成しています。
一人一人ラズパイを割り当てて、WEBシステムでDBに登録状況を更新しているのですが既に登録されているラズパイはHTMLでは表示されないようにしたい。
例えば、ラズパイ1が接続中、ラズパイ2が未接続、ラズパイ3が接続中の場合はラズパイ2だけを表示するという形です。
状態の管理はメッセージカラムで行っており、10なら未接続、1,2なら接続中という形で管理しています。
該当のソースコード
python
1@egamipro.route('/lazupai',methods=["POST"]) 2def lazupai_post(): 3 lazupai = request.form["lazupai"] 4 name = request.cookies.get('name') 5 bangou = request.cookies.get('bangou') 6 kaisijikan = request.form["kaisijikan"] 7 kaisihun = request.form["kaisihun"] 8 owarijikan = request.form["owarijikan"] 9 owarihun = request.form["owarihun"] 10 con = get_db() 11 mail = con.execute("select メッセージ from kfc where ラズパイID=?" ,(lazupai)) 12 id=mail.fetchall() 13 mail=id[0][0] 14 if mail == 10: 15 sql = "UPDATE kfc SET クラス番号='{}',名前='{}',メッセージ=0,開始時間={},開始分={},終了時間={},終了分={} where ラズパイID = {}".format(bangou,name,kaisijikan,kaisihun,owarijikan,owarihun,lazupai) 16 con.execute(sql) 17 sql = "UPDATE nemoto SET ラズパイID={},開始時間={},開始分={},終了時間={},終了分={} where クラス番号 = '{}'".format(lazupai,kaisijikan,kaisihun,owarijikan,owarihun,bangou) 18 con.execute(sql) 19 con.commit() 20 return render_template('menyu.html',name=name) 21 22 else: 23 return render_template('lazupaierr.html')
HTML
1<!DOCTYPE html> 2<html lang="jp"> 3<head> 4 <meta charset="UTF-8"> 5 <title>サムギョプサルヒロキ</title> 6</head> 7<body> 8 <h1> 9 {% for item in data %} 10 <tr> 11 <th>{{item[0]}}</th> 12 <th>{{item[1]}}</th> 13 <th>{{item[2]}}</th> 14 <th>{{item[3]}}</th> 15 </tr> 16 {% endfor %} 17 </tbody> 18 <h1>{{ name }}さんですね</h1> 19 <form action='/lazupai'> 20 <select name="lazupai"> 21 <option value="1">01</option> 22 <option value="2">02</option> 23 <option value="3">03</option> 24 <option value="4">04</option> 25 </select> 26 </label>開始時間 27 <select name="kaisijikan"> 28 <option value="00">00</option> 29 <option value="01">01</option> 30 略 31 <option value="59">59</option> 32 </select> 33 </label> 34 </label>終了時間 35<select name="owarijikan"> 36 <option value="00">00</option> 37 略 38 <option value="59">59</option> 39 </select> 40</label> 41 42 <button type="submit" formmethod="POST">登録</button> 43 </form> 44</body> 45</html>
試したこと
python
1con = get_db() 2 3 # 商品一覧を読み込み 4 cur = con.execute("select ラズパイID,クラス番号,名前,メッセージ from kfc") 5 rows = cur.fetchall() 6 7 8 def conv_id(メッセージ): 9 return {10:'接続無し', 0:'異常なし', 1:'異常発生'}[メッセージ]
このような形で配列でデータを受け渡して表示非表示を試しました。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/24 00:52 編集