Python (40)

반응형

 

파라미터 받기

 

 

from flask import Flask,request

app = Flask(__name__)

@app.route('/')
def hello():
   return 'Hello World'

if __name__ == '__main__':
  app.run(debug=True, port=80, host='0.0.0.0')

 

결과 화면1

 

 

 

  • get 방식
from flask import Flask,request

app = Flask(__name__)

@app.route('/param')
def param():
   menu = request.args.get('menu', "탕수육")
   return 'PARAM:'+menu

if __name__ == '__main__':
  app.run(debug=True, port=80, host='0.0.0.0')

 

 

결과 화면2

 

 

 

  • post 방식 (get 포함)

form.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="http://localhost/post" method="post">
	<input type="text" name="menu" value="짜장면">
	<input type="submit">
</form>
</body>
</html>

 

 

my_flask.py

from flask import Flask,request

app = Flask(__name__)

@app.route('/post', methods=['POST','GET'])
def post():
   menu = request.form['menu']
   return 'POST:'+menu

if __name__ == '__main__':
  app.run(debug=True, port=80, host='0.0.0.0')

 

 

결과 화면3-1

 

결과 화면3-2 : 제출 클릭 시

 

 

flask는 java와 달리 html을 동적인 것으로 여겨 사용한다.

 

 

+ forward와 redirect 

forward : url이 안 바뀜

redirect : url이 바뀜 

 

 

 

html 연결

 

 

from flask import Flask,request,render_template

app = Flask(__name__)

@app.route('/forw')
def forw():
   return render_template('forw.html')

if __name__ == '__main__':
  app.run(debug=True, port=80, host='0.0.0.0')

 

결과 화면4

 

 

html 파일이 templates 폴더 안에 없으면 오류 발생!!

 

 

 

  • HTML로 값 전달

my_flask.py

from flask import Flask,request,render_template

app = Flask(__name__)

@app.route('/forw')
def forw():
   a = "홍길동"
   b = ["전우치","장화홍련"]
   return render_template('forw.html', a=a, b=b)

if __name__ == '__main__':
  app.run(debug=True, port=80, host='0.0.0.0')

 

 

forw.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
FORW HTML <br>
{{a}} <br>
{{b}} <br>
</body>
</html>

 

결과 화면5

 

 

=> 배열의 경우 for를 사용하여 하나하나 출력

 

 

 

  • HTML로 값 전달 (배열)

 

my_flask.py

from flask import Flask,request,render_template

app = Flask(__name__)

@app.route('/forw')
def forw():
   a = "홍길동"
   b = ["전우치","장화홍련"]
   return render_template('forw.html', a=a, b=b)

if __name__ == '__main__':
  app.run(debug=True, port=80, host='0.0.0.0')

 

 

forw.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
FORW HTML <br>
{{a}} <br>
{% for i in b %}
	{{i}}<br>
{% endfor %}
</body>
</html>

 

결과 화면6

 

 

 

  • 배열로 받은 값을 테이블로 가져오기

my_flask.py

from flask import Flask,request,render_template

app = Flask(__name__)

@app.route('/emp')
def emp():
    mylist = [
        {'e_id':'1','e_name':'1','gen':'1','addr':'1'},
        {'e_id':'2','e_name':'2','gen':'2','addr':'2'},
        {'e_id':'3','e_name':'3','gen':'3','addr':'3'}
    ]
    return render_template('emp.html', mylist=mylist)

if __name__ == '__main__':
  app.run(debug=True, port=80, host='0.0.0.0')

 

 

emp.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	EMP HTML

	<table border = 1>
		<tr>
			<th> 아이디 </th>
			<th> 이름 </th>
			<th> 성별 </th>
			<th> 주소 </th>
		</tr>
		{% for key in mylist %}
		<tr>
			<td> {{ key['e_id'] }} </td>
			<td> {{ key.e_name }} </td>
			<td> {{ key['gen'] }} </td>
			<td> {{ key['addr'] }} </td>
		</tr>
		{% endfor %}
	</table>
</body>
</html>

 

7

 

 

반응형
반응형

 

프로젝트 설정

 

 

1

 

1. New > Other 클릭 > web 검색 > Dynamic Web Project 클릭 > Next 클릭

 

2

 

2. 이름 기입 > New Runtime 클릭

 

3

 

3. Apache Tomcat v8.5 클릭 > Next 클릭

 

4

 

4. Browse 클릭 > apache 폴더까지 와서 폴더 선택

 

5

 

5. Installed JREs 클릭 > Add 클릭

 

6

 

6. Standard VM 클릭 > Next 클릭

 

7

 

7. Directory 클릭 > JDK 위치 클릭 > 폴더 선택 클릭 > Finish 클릭

 

8

 

8. 기존 JDK 삭제 > JDK 선택 > Apply and Close 클릭

 

9

 

9. JDK 1.8 클릭 > Finish 클릭

 

10

 

10. Next 클릭

 

11

 

11. 체크박스 클릭 > Finish 클릭

 

 

 

패키지 설정

 

 

1

 

1. Window > Show View > Other 클릭

 

2

 

2. pa 검색 > Package Explorer 클릭 > Open 클릭

 

추가된 것 확인

 

 

 

파일 생성

 

 

1

 

1. servl 검색 > Servlet 클릭 > Next 클릭

 

2

 

2. Class name 입력 > Next 클릭

 

3

 

3. 전부 소문자로 수정 > OK 클릭

 

4

 

4. Next 클릭

 

5

 

5. Finish 클릭

 

6

 

6. Ctrl + F11 > 서버 선택 > Finish 클릭

 

실행 화면 확인

 

 

=> 사용한 코드

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
   return 'Hello World'

if __name__ == '__main__':
  app.run(debug=True, port=80, host='0.0.0.0')

 

 

 

jdk 버전에 달라 안 맞을 때

 

1

 

1. 프로젝트 에서 오른쪽 마우스 클릭 > Properties 클릭

 

2

 

2. Java Build Path 클릭 > Libraries 클릭 > JRE 클릭 > Edit 클릭

 

3

 

3. Alternate JRE 클릭 > JDK 1.8로 설정 > Finish 클릭 > Apply 클릭

 

4

 

4. Java Compiler 클릭 > Compiler compliance level 의 1.8 설정 > Apply and Close 클릭

 

 

반응형
반응형

 

파이썬으로 하는 MySQL

 

 

cmd 창에 코드 입력

 

pip install PyMysql

 

=> 설치를 하여야 사용할 수 있음

 

 

 

데이터 조회

 

 

import pymysql

con = pymysql.connect(host='localhost', port=3305, user='root',
    password='python', db='python', charset='utf8')

# cur = con.cursor()
cur = con.cursor(pymysql.cursors.DictCursor) #JSON 형태와 똑같이 출력해줌 => 파이썬에서는 Diction으로 부름

sql = '''
    SELECT
        e_id,
        e_name,
        gen,
        addr
    FROM
        emp
'''

cur.execute(sql)
result = cur.fetchall()
print(result) #결과물 : 튜플

cur.close()
con.close()

 

결과 화면1

 

 

 

데이터 삽입

 

 

import pymysql

con = pymysql.connect(host='localhost', port=3305, user='root',
    password='python', db='python', charset='utf8')

cur = con.cursor()
e_id = "3"
e_name = "3"
gen = "3"
addr = "3"

sql = f"""
    INSERT INTO 
        EMP (e_id, e_name, gen, addr)
    VALUES ('{e_id}','{e_name}','{gen}','{addr}')
"""

# 방법1
cnt = cur.execute(sql)
print("cnt",cnt) # 1이 출력됨

# 방법2
# cur.execute(sql)
# print("cnt",cur.rowcount)

con.commit()

cur.close()
con.close()

 

결과 화면2 : 데이터 삽입 후 조회 화면

 

 

 

데이터 수정

 

 

import pymysql

con = pymysql.connect(host='localhost', port=3305, user='root',
    password='python', db='python', charset='utf8')

cur = con.cursor()
e_id = "3"
e_name = "6"
gen = "6"
addr = "6"

sql = f"""
    UPDATE emp 
    SET
        e_name = '{e_name}',
        gen = '{gen}', 
        addr = '{addr}'
    WHERE
        e)id = '{e_id}'
"""

cnt = cur.execute(sql)
print("cnt",cnt) # 1이 출력됨

con.commit()

cur.close()
con.close()

 

결과 확인3 :&nbsp; 데이터 수정 후 조회 화면

 

 

 

데이터 삭제

 

 

import pymysql

con = pymysql.connect(host='localhost', port=3305, user='root',
    password='python', db='python', charset='utf8')

cur = con.cursor()
e_id = "3"

sql = f"""
    DELETE FROM emp 
    WHERE
        e_id = '{e_id}'
"""

cnt = cur.execute(sql)
print("cnt",cnt) # 1이 출력됨

con.commit()

cur.close()
con.close()

 

결과 확인4 :&nbsp; 데이터 삭제 후 조회 화면

 

 

반응형
1 ··· 5 6 7 8 9 10 11 ··· 14