html 화면 변경 및 db select 구현

This commit is contained in:
김민구
2024-01-08 19:25:37 +09:00
parent 5f9592ac0b
commit 26d2c56a8d
2 changed files with 85 additions and 13 deletions

82
app.py
View File

@@ -1,9 +1,61 @@
from flask import Flask, request, render_template, redirect, url_for
# db연결 패키지 import
import configparser
import os
import pymysql
# ---
# DB 연결 설정 정보 세팅 ( db_config.ini에 정의 )
config = configparser.ConfigParser()
config.read(os.getcwd() + os.sep + 'db_config.ini', encoding='utf-8')
conn = pymysql.connect(
host = config.get('DB_CONFIG', 'HOST'),
port = int(config['DB_CONFIG']['PORT']),
user= config['DB_CONFIG']['USER'],
passwd= config.get('DB_CONFIG', 'PASSWD'),
db= config['DB_CONFIG']['DBNAME'],
charset="utf8")
# Tuple
cur = conn.cursor()
# DictCursor
cur = conn.cursor(pymysql.cursors.DictCursor)
# sql = f"""SELECT * FROM wms.plan_In2
# """
sql = f"""SELECT * FROM wms.plan_In2 where qr_hash=%s
"""
cur.execute(sql, 'testqr')
# 데이터 접근
# result = cur.fetchall()
rows = cur.fetchall()
# result = cur.fetchone()
# for record in result:
# print(record)
# 연결 종료
conn.close()
for row in rows:
# print(row)
print(row['quantity'], row['qr_hash'], row['date'])
# rows = [list(rows[x]) for x in range(len(rows))]
#------------------------------------------------
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
# return 'Hello, World!'
return rows
@app.route('/hello')
def hellohtml():
@@ -50,20 +102,34 @@ def myimage():
@app.route('/form')
def formhtml():
return render_template("form.html")
# return render_template("form.html", date = row['date'], warehouse_id = row['warehouse_id'], name = row['name'], quantity = row['quantity'])
return render_template("form.html", date = row['date'], warehouse_id = row['warehouse_id'], quantity = row['quantity'])
@app.route('/method', methods=['GET', 'POST'])
def method():
# if request.method == 'GET':
# # args_dict = request.args.to_dict()
# # print(args_dict)
# num = request.args["num"]
# name = request.args.get("name")
# return "GET으로 전달된 데이터({}, {})".format(num, name)
# else:
# num = request.form["num"]
# name = request.form["name"]
# return "POST로 전달된 데이터({}, {})".format(num, name)
if request.method == 'GET':
# args_dict = request.args.to_dict()
# print(args_dict)
num = request.args["num"]
name = request.args.get("name")
return "GET으로 전달된 데이터({}, {})".format(num, name)
date = request.args.get["date"]
warehouse_id = request.args.get("warehouse_id")
# name = request.args.get("name")
# return "GET으로 전달된 데이터({}, {})".format(date, warehouse_id, quantity, name)
return "GET으로 전달된 데이터({}, {}, {})".format(date, warehouse_id, quantity)
else:
num = request.form["num"]
name = request.form["name"]
return "POST로 전달된 데이터({}, {})".format(num, name)
date = request.form["date"]
warehouse_id = request.form["warehouse_id"]
quantity = request.form["quantity"]
return "POST로 전달된 데이터({}, {}, {})".format(date, warehouse_id, quantity)
if __name__ == '__main__':
with app.test_request_context():

View File

@@ -5,11 +5,17 @@
<h2>WMS</h2>
<form action="/method" method="POST">
<label for="fname">사번:</label><br>
<input type="text" id="fname" name="num"><br>
<label for="lname">이름:</label><br>
<input type="text" id="lname" name="name"><br><br>
<label for="date">날짜</label>
<input type="text" id="date" name="date" value="{{date}}"><br><br>
<label for="warehouse_id">창고</label>
<input type="text" id="warehouse_id" name="warehouse_id" value="{{warehouse_id}}"><br><br>
<label for="name">제품명</label>
<input type="text" id="name" value="{{name}}"><br><br>
<label for="quantity">수량</label>
<input type="text" id="quantity" name="quantity" value="{{quantity}}"><br><br>
<input type="submit" value="확인">
<input type="submit" value="취소">
</form>
</body>