๐Ÿ“Œhtml์„ ๋™์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ

Gyeomiiยท2022๋…„ 7์›” 13์ผ
0

DDITPython

๋ชฉ๋ก ๋ณด๊ธฐ
12/18
post-thumbnail
from flask import Flask, request, render_template
from day10.empdao import EmpDao
app = Flask(__name__)

@app.route('/')
@app.route('/emp', methods = ['POST', 'GET']) 
def index():
    dao = EmpDao()
    emp = dao.selects()
    return render_template('emp.html', param=emp)

if __name__ == '__main__':
    app.run(debug=True)
  • Flask๋Š” @app.route๋ฅผ ์‚ฌ์šฉํ•ด ํŽ˜์ด์ง€๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค. (์ž๋ฐ”์˜ Servlet๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ)
    • ์ž๋ฐ”๋Š” Servlet์„ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค์–ด์•ผํ•˜์ง€๋งŒ Flask๋Š” ํ•œ๊ฐœ์˜ .py์— ์—ฌ๋Ÿฌ๊ฐœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ
  • @app.route(โ€™/โ€™) : 127.0.0.1:5000์„ ๋“ค์–ด๊ฐ”์„ ๋•Œ ๋‚˜์˜ค๋Š” ๊ธฐ๋ณธํŽ˜์ด์ง€
  • methods = ['POST', 'GET'] : Post๋ฐฉ์‹์œผ๋กœ ๋ฐ›์„์ง€ Get๋ฐฉ์‹์œผ๋กœ ๋ฐ›์„์ง€ ๊ตฌ๋ถ„
  • return render_template('ํŒŒ์ผ๋ช….html', ๋ฐ์ดํ„ฐ๋ช…=๋ฐ์ดํ„ฐ๋ณ€์ˆ˜)

  • htmlํŒŒ์ผ์€ templates ํด๋”์— ๋„ฃ์–ด์ฃผ์–ด์•ผ ์ธ์‹๋œ๋‹ค.
  • staticํŒŒ์ผ(.js, .css)์€ staticํด๋”์— ๋„ฃ์–ด์ฃผ์–ด์•ผ ์ธ์‹๋œ๋‹ค.
    • HTMLํŒŒ์ผ์—์„œ ์ ์šฉ์‹œํ‚ค๊ธฐ

      <script src="{{url_for('static', filename='jquery-3.6.0.min.js')}}"></script>
      
      <script src="static/jquery-3.6.0.min.js"></script>
    • .pyํŒŒ์ผ์—์„œ ์ ์šฉ์‹œํ‚ค๊ธฐ

      app = Flask(__name__, static_url_path='') #.py
      
      <script src="jquery-3.6.0.min.js"></script> #html

      ๋‘˜ ์ค‘ ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์šฉํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.

JSON๋ฐ์ดํ„ฐ ๋ฐ›์•„์˜ค๊ธฐ

  • python flask
@app.route('/ajaxone', methods=['POST'])
def ajaxone():
    eId = request.form['e_id']
    dao = EmpDao()
    emp = dao.select(eId)
    return jsonify({'emp': emp})
  • html
function fn_one(e_id){
	var param = {'e_id' : e_id}
	$.ajax({
		url : "ajaxone",
		data : param,
		dataType : "json",
		type : "post",
		async: false,
		success : function(res) {
			var emp = res.emp;
			$('#e_id').val(emp.e_id);
			$('#e_name').val(emp.e_name);
			$('#sex').val(emp.sex);
			$('#addr').val(emp.addr); 
		}
	});
}

์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์ฃผ๊ณ  ๋ฐ›๊ธฐ

  • python flask
@app.route('/ajaxmod', methods=['POST'])
def ajaxmod():
    eId = request.form['e_id']
    eName = request.form['e_name']
    sex = request.form['sex']
    addr = request.form['addr']
    dao = EmpDao()
    cnt = dao.update(eId, eName, sex, addr)
    return jsonify({"cnt" : cnt})
  • html
function fn_mod(){
	var e_id = $('#e_id').val();
	var e_name = $('#e_name').val();
	var sex = $('#sex').val();
	var addr = $('#addr').val();
	
	var param = "";
	param += "dummy=" + Math.random();
	param += "&e_id=" + e_id;
	param += "&e_name=" + e_name;
	param += "&sex=" + sex;
	param += "&addr=" + addr;
	$.ajax({
		url : "ajaxmod",
		data : param,
		dataType : "json",
		type : "post",
		async: false,
		success : function(res) {
			var cnt = res.cnt;
			if(cnt == 1){
				alert("์ •์ƒ์ ์œผ๋กœ ์ˆ˜์ • ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.");
				fn_list();
				$('#e_id').val("");
				$('#e_name').val("");
				$('#sex').val("");
				$('#addr').val("");
			}else{
				alert("์ˆ˜์ • ์‹คํŒจํ•˜์˜€์Šต๋‹ˆ๋‹ค.");
			}
		}
	});
}

WEB

.py

.html

profile
๊น€์„ฑ๊ฒธ

0๊ฐœ์˜ ๋Œ“๊ธ€