course/spartacoding
[웹개발 종합반] 4주차 (1) Flask 기초
hjkim0502
2021. 11. 3. 15:58
1. 로컬 개발환경 : 한 컴퓨터에 서버와 클라이언트 동시에
2. Flask: 서버를 구동시켜주는 프레임워크(이미 만들어진 코드 모음)
- flask 개발자가 정해놓은 규칙에 맞게 내 코드를 작성해야함
- 통상적으로 서버 구동 파일은 app.py
-
flask 시작 코드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://localhost:5000/ 에서
- 서버 종료: ctrl + c
- URL 나누기
-
from flask import Flask app = Flask(__name__) # http://localhost:5000/ 에서 확인 @app.route('/') def home(): return 'This is Home!' # http://localhost:5000/mypage 에서 확인 @app.route('/mypage') def mypage(): return 'This is Mypage!' if __name__ == '__main__': app.run('0.0.0.0',port=5000,debug=True)
-
-
return 값에 html 코드 삽입 가능from flask import Flask app = Flask(__name__) @app.route('/') def home(): return '<button>button</button>' if __name__ == '__main__': app.run('0.0.0.0',port=5000,debug=True)
- flask 기본 폴더구조
- static 폴더: css, image 파일 넣기
- templates 폴더: html 파일 넣기
- app.py파일
- (venv)
-
flask 내장함수 render_template 이용# app.py에서 templates 안의 index.html 파일 불러오기 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)
- index.html 파일 여는 것과 http://localhost:5000/ 여는 것은 다름
- 후자는 서버에 요청한 것을 브라우저가 받아 그려준 것, 전자는 그냥 내 컴퓨터에 있는 html 파일 연 것
- -> 서버와의 통신여부 차이