Flask 시작
1. 서버 만들기
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
@app.route('/mypage')
def mypage():
return 'This is Mypage!!'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
mypage 추가
2. HTML파일 주기
Flask 서버를 만들 때, 항상, 프로젝트 폴더 안에,
ㄴstatic 폴더 (이미지, css파일을 넣어둡니다)
ㄴtemplates 폴더 (html파일을 넣어둡니다)
ㄴapp.py 파일
이렇게 3개 만들어 놓고 시작
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
flask 내장함수 render_template를 이용 index.html 파일 불러오기
3. 본격 API 만들기
1. Jquery 임포트
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
2. GET 요청 확인 Ajax코드
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
function hey() {
$.ajax({
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function (response) {
console.log(response)
}
})
}
</script>
</head>
<body>
<h1>나의 첫 웹페이지!</h1>
<button onclick="hey()">버튼을 만들자</button>
</body>
</html>
hey() 함수 만들어서 버튼 온클릭 설정
"/test?라는 창구에 가는데 title_give라는 이름으로 봄날은간다 라는 데이터를 갖고갈께
(주민등록번호 라는 키 값으로 900120- .. 을 가져온 것과 같은 의미)
잘 된다면 너가 주는 데이터를 콘솔에 찍어볼께
3. GET 요청 API코드
from flask import Flask, render_template, request, jsonify
app = Flask(__name__)
@app.route('/')
def home():
return render_template('index.html')
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
request, jsonify 추가
title_give라는 이름으로 뭔가를 받아와서 변수에 넣음
title_receive 출력
버튼을 만들자 클릭하면
4. POST 요청 확인 Ajax코드
<script>
function hey(){
$.ajax({
type: "POST",
url: "/test",
data: {title_give: '봄날은간다'},
success: function (response) {
console.log(response)
}
})
}
</script>
/test에 title_give: '봄날은간다' 를 가져간다
4. POST 요청 API코드
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
./test 라는 창구를 만들었고 그 창구에서는 POST만 받는 것은 이쪽으로 와라 ( methods=['GET']) GET은 GET 쪽으로
GET이랑 동일하게 title_receive = request.form['title_give'] 변수 선언
그리고 title_receive 출력
버튼을 만들자 클릭
index.thml 파일에 hey()에 ajax 요청
/test라는 창구에 POST요청
title_give:'봄날은간다' 데이터를 가져왔는 확인 후
title_give 변수 선언 후 출력
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
해당값을 index.html에 리턴
'Sparta 웹개발 종합반' 카테고리의 다른 글
2023-01-16 homework_팬명록(POST, GET) (0) | 2023.01.17 |
---|---|
2023-01-13 4주차 프로젝트 [스파르타피디아] GET, POST (2) | 2023.01.13 |
2023-01-11 3주차 homework_지니뮤직 크롤링 (1) | 2023.01.11 |
2023-01-10 파이썬 웹스크래핑(크롤링) (0) | 2023.01.11 |
2023-01-10 파이썬 (0) | 2023.01.10 |