728x90
Flask란?
👉 Flask는 파이썬 기반 웹 프레임워크 중 하나이다.
자바가 아닌 파이썬으로도 웹 서버를 만들 수 있다는 의미!
자바 기반 웹 프레임워크로는 대표적으로 Spring이 있듯,
파이썬 기반 웹 프레임 워크는 대표적으로 Flask, Django가 있다.
Flask 시작하기(1) - 서버만들기
1. Flask 패키지 설치
PyCharm기준
파일 > 설정 > Python 인터프리터 > + > Flask 검색 > 패키지 설치
Flask 프레임워크 : 서버를 구동시켜주는 편한 코드 모음.
서버를 구동하려면 필요한 복잡한 일들을 쉽게 가져다 쓸 수 있다.
2. Flask 서버를 돌리는 파일 app.py를 만들고 아래 코드를 복붙하기
#app.py
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)
오른쪽 클릭하고 "실행" 클릭하고, 터미널에 아래와 같은 메시지가 뜨면 실행 성공
크롬에서 http://locallhost:5000/ 으로 접속해보기!
> 종료하는 방법
터미널 창을 클릭하고, ctrl + c을 누르면 서버를 종료할 수 있다.
Flask 시작하기(2) - HTML 파일 주기
1. Flask 기초 : 기본 폴더구조 - 항상 세팅하고 시작하기!
Flask 서버 만들 때
프로젝트 폴더 안에,
- static 폴더 (이미지, css파일을 넣어주기)
- templates 폴더 (html파일을 넣어주기)
- app.py 파일 (Flask 서버 파일 넣어주기)
2. index.html 파일을 templates 안에 만들기
3. html 파일 불러오기
Flask 내장함수 render_template를 이용
#app.py
from flask import Flask, render_template
app = Flask(__name__)
## URL 별로 함수명이 같거나,
## route('/') 등의 주소가 같으면 안됩니다.
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
Flask 시작하기(3) - API 만들기(1)
GET 요청에서 클라이언트의 데이터를 받는 방법
Jquery 임포트
Ajax를 사용하기 위해서 Jquery 임포트
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
GET 요청 API코드
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
GET 요청 확인 Ajax코드
$.ajax({
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function(response){
console.log(response)
}
})
Flask 시작하기(3) - API 만들기(2)
POST 요청에서 클라이언트의 데이터를 받는 방법
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!'})
POST 요청 확인 Ajax코드
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
위에 글 내용은 오류 사항이 존재할 수 있습니다!
수정 사항이 있을 시 알려주시면 감사하겠습니다.
728x90
'내일배움단 개발일지' 카테고리의 다른 글
14. 4주차 - meta tag(메타 태그) 크롤링 (0) | 2022.08.24 |
---|---|
13. 4주차 - 화성땅 공동구매 사이트 만들기 (0) | 2022.08.23 |
11. 3주차 - 숙제 (0) | 2022.08.20 |
10. 3주차 - 데이터베이스(DataBase), mongoDB (0) | 2022.08.19 |
9. 3주차 - 파이썬 (패키지설치, 크롤링) (0) | 2022.08.16 |
댓글